使用 PHP 提取 HTML 标签之间的内容
使用正则表达式从字符串中提取特定内容可能具有挑战性。假设您需要检索 之间的内容和</代码>标签。让我们探索如何在 PHP 中实现此目的。
了解正则表达式模式
为了提取标签之间的内容,我们将采用以下正则表达式模式:
'#<\s*?code\b[^>]*>(.*?)</code\b[^>]*>#s'
登录后复制
分解模式:
-
b: 确保像 这样的拼写错误未捕获。</codes>
</li>
<li>
<strong><sup><a href="https://www.php.cn/link/d58f36f7679f85784d8b010ff248f898" rel="nofollow" target="_blank">1</a></sup>*:</strong> 捕获具有属性(例如,类)的标签的内容。</li>
<li>
<strong>(.*?):</strong> 将标签中的实际内容捕获为非贪婪匹配。</li>
<li>
<strong>b:</strong> 同样,这可确保不会捕获拼写错误。</li>
<li>
<strong>s:</strong> 's' 标志启用该模式以换行符捕获内容。</li>
</ul>
<p><strong>全部放入一起:</strong></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$regex = '#<\s*?code\b[^>]*>(.*?)</code\b[^>]*>#s';
$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.";
preg_match($regex, $content, $matches);
$code = $matches[1];
登录后复制
操作和重新插入提取的内容
提取内容后,您可以对提取的字符串和父字符串执行操作。要将提取的内容重新插入到父字符串中,您可以使用字符串操作技术,例如子字符串替换。
例如,让我们替换 中的内容带有“MODIFIED”的标签:
$replacedContent = str_replace($matches[0], "MODIFIED", $content);
登录后复制
结论
通过利用提供的正则表达式,您可以有效地提取 PHP 中特定 HTML 标签之间的内容。这种技术在各种字符串解析场景中都很有价值。
以上是如何使用 PHP 提取 `` 标签之间的内容?的详细内容。更多信息请关注PHP中文网其他相关文章!