嘿所以我想做的就是抓住第一段的内容.字符串$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>之前它只会匹配必要的文本.