php - 如何抓取HTML标签的内容?

标签 php html regex html-parsing

嘿,我想做的是捕获第一段的内容。字符串 $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/

相关文章:

php - 当用户未登录时,我如何在 PHP 上计算每小时的数字?

php - 如何使用 php 从 mysql 数据库显示 <select> 中的值?

html - 如何均匀分布导航栏属性?

javascript - 从转换字符串中提取不同的 css 转换?

匹配除最后 4 位以外的任意 9 位数字的正则表达式不能是 9999 或 0000

正则表达式选择多行,直到两个连续的新行在 Mac 上不起作用

javascript - 提交ajax后如何清理表单?

javascript - 使用 json_decode 在 php 中获取 json 数组的问题

html - 如果 clip rect 贬值,是否有更受欢迎的选择?

html - 我如何将 jqueryui slider 定位在图像下方