嘿,我想做的是捕获第一段的内容。字符串 $blog_post
包含很多段落,格式如下:
<p>Paragraph 1</p><p>Paragraph 2</p><p>Paragraph 3</p>
我遇到的问题是我正在编写一个正则表达式来获取第一个 <p>
之间的所有内容标记和第一个关闭 </p>
标签。然而,它正在抢先 <p>
标记和最后 结束</p>
导致我捕获一切的标签。
这是我当前的代码:
if (preg_match("/[\\s]*<p>[\\s]*(?<firstparagraph>[\\s\\S]+)[\\s]*<\\/p>[\\s\\S]*/",$blog_post,$blog_paragraph))
echo "<p>" . $blog_paragraph["firstparagraph"] . "</p>";
else
echo $blog_post;
最佳答案
好吧,假设该段落中没有其他 html,sysrqb 将让您匹配第一段中的任何内容。你可能想要更多这样的东西
<p>.*?</p>
放置 ?
在你的 *
之后使其成为非贪婪的,这意味着它只会在匹配 </p>
之前匹配尽可能少的文本。 .
关于php - 如何抓取HTML标签的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38691/