2016-12-21 130 views
0

我的代碼計數p標籤,然後在第x個p標籤後插入廣告代碼。 如果我想要計數img標記,請在第x個img標記後插入廣告代碼我該如何處理?在x img標籤後插入內容

add_filter('the_content', 'prefix_insert_post_ads2'); 

function prefix_insert_post_ads2($content) { 
    $imgs = preg_match_all("#<img.+>#U", $content, $matches); 
    $ad_codea = "ads code"; 
    if (is_single() && ! is_admin() && $imgs >= 4) { 
     return prefix_insert_after_paragraph2($ad_codea, 3, $content); 
    } 
    return $content; 
} 

function prefix_insert_after_paragraph2($insertion, $paragraph_id, $content) { 
    $closing_p = '></p>'; 
    $paragraphs = explode($closing_p, $content); 
    foreach ($paragraphs as $index => $paragraph) { 

     if (trim($paragraph)) { 
      $paragraphs[$index] .= $closing_p; 
     } 

     if ($paragraph_id == $index + 1) { 
      $paragraphs[$index] .= $insertion; 
     } 
    } 
    return implode('', $paragraphs); 
} 
+0

你可以使用js或jquery –

回答

1

我已經自己解決了。

add_filter('the_content', 'prefix_insert_post_ads2'); 
function prefix_insert_post_ads2($content) { 
    $imgs = preg_match_all("#<img.+>#U", $content, $matches); 
    preg_match_all('/<img[^>]+>/i',$content, $result); 
    $ad_codea = '123'; 
    if ($imgs < 4) {$result[0][1]='';} 
    if (is_single() && ! is_admin()) { 
     return str_replace($result[0][1], $result[0][1].$ad_codea, $content); 
    } 
}