【发布时间】:2018-11-16 17:25:41
【问题描述】:
这就是我的场景:我想在我的帖子中每 3 或 4 个段落动态添加一些广告块,使用 php(我没有使用任何 CMS)。所以我的 html 帖子有下一个结构:
<p>Paragraph 1</p>
<p>Paragraph 2</p>
<p>Paragraph 3</p>
<p>Paragraph 4</p>
<p>Paragraph 5</p>
<p>Paragraph 6</p>
我想在段落之间动态添加一些广告块,例如每 3 个段落。所以最终的 html 会是这样的:
<p>Paragraph 1</p>
<p>Paragraph 2</p>
<p>Paragraph 3</p>
<ad block 1>
<p>Paragraph 4</p>
<p>Paragraph 5</p>
<p>Paragraph 6</p>
<ad block 2>
我需要一些允许我第n次插入广告块的php函数
</p>
出现在帖子的字符串上。
我以这种方式获得帖子的 html 的变量:
$article = getArticle($article_id, $user_data['id']); 并且帖子的 html 在 $article['description']
我需要一个像
这样的函数preg_replace('</p>', '</p><adblock>', $article['description']);
但是在第 3 次出现而不是总是替换。
【问题讨论】:
-
首先请向我们展示当前生成此 HTML 的代码。还是静态的?还是从数据库加载?目前还不清楚。您并没有真正为您的问题提供任何适当的上下文。所以到目前为止我能给出的唯一建议是你可能需要某种循环。可能您还需要一种解析 HTML 的方法,这取决于。除此之外,我真的不能准确地说出要做什么。
-
我已经详细一点了。
-
我不会使用正则表达式来尝试检测 HTML 的结构...而是使用 DOM 解析器