在X段

时间:2016-02-18 09:50:40

标签: php wordpress

我在帖子中使用此代码在指定数量的段落之后放置代码,但除了结束{I}之外我还不知道如何制作代码{0}也认识</p>

谢谢!

</h3>

1 个答案:

答案 0 :(得分:0)

想出一个可能不优雅的解决方案,但它确实有效。它的作用是在每个第二段之后添加一个额外的段落,如果它没有跟随H3。

function adify_paragraphs($content) {
    // Splitting the content into an array of paragraphs and headers.
    preg_match_all('/<h3>.*<\/h3>|<p>.*<\/p>/imU', $content, $matches);
    $count = count($matches[0]);
    if (empty($count)) {
        // Nothing to work with.
        return $content;
    }
    $p_count = 0;
    for ($i = 0; $i < $count; $i++) {
        // Increment the paragraph counter if we meet a paragraph.
        // Otherwise, reset it.
        if (strpos($matches[0][$i], '<p>') !== FALSE) {
            $p_count++;
        } else {
            $p_count = 0;
        }
        if ($p_count == 2 && strpos($matches[0][$i+1], '<h3>') === FALSE) {
            // Insert the additional code and reset the counter.
            $content = str_replace($matches[0][$i], $matches[0][$i].'<p>AD!</p>', $content);
            $p_count = 0;
        }
    }
    return $content;    
}

如果您需要以不同的方式插入广告,请将2更改为任何其他号码(不幸的是,您的代码不太清楚)。

您可以在此处看到它:https://eval.in/521508