首页  >  文章  >  后端开发  >  如何在 PHP 中使用正则表达式提取 HTML 标签之间的内容?

如何在 PHP 中使用正则表达式提取 HTML 标签之间的内容?

Linda Hamilton
Linda Hamilton原创
2024-11-09 21:42:02941浏览

How to Extract Content Between HTML Tags Using Regular Expressions in PHP?

在 PHP 中提取 HTML 标签之间的内容

在 PHP 中,可以使用正则表达式从 HTML 字符串中提取特定内容。为此,您需要定义一个与目标标签及其内容相匹配的正则表达式模式。

理解问题

您想要检索和来自 HTML 字符串的标签,表示为 $content。您的目标是提取、操作匹配的字符串并将其重新插入到原始字符串中。

匹配 HTML 代码标签

为了实现您的目标,您可以利用以下正则表达式:

$regex = '#<\s*?code\b[^>]*>(.*?)</code\b[^>]*>#s';

分解模式

  • s*:匹配任意数量的空白字符。
  • code:匹配文字字符串“code”。
  • b:确保拼写错误(例如,
  • )。 codeS>) 不会被捕获。

[^>]*:捕获标签的内容,包括attribute.(.*?):捕获 中的内容和</代码>

[^>]*>:匹配结束的 ;标签和任何属性。

$content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. <code>Donec sed erat vel diam ultricies commodo. Nunc venenatis tellus eu quam suscipit quis fermentum dolor vehicula.</code>";
preg_match($regex, $content, $matches);

// Extract the matched code block
$matchedCode = $matches[1];
#s:启用点全匹配,允许捕获换行符。

示例用法您可以在您的代码中实现此模式,如下所示:通过利用此正则表达式,您可以有效提取之间的内容和</代码> HTML 字符串中的标签。

以上是如何在 PHP 中使用正则表达式提取 HTML 标签之间的内容?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn