首页 >后端开发 >php教程 >如何在 PHP 中不使用正则表达式提取标签之间的文本?

如何在 PHP 中不使用正则表达式提取标签之间的文本?

Linda Hamilton
Linda Hamilton原创
2024-12-18 13:05:25796浏览

How to Extract Text Between  Tags in PHP Without Using Regular Expressions?

如何在 PHP 中解析 HTML 代码

问题:
提取标题标签之间的文本 (< ;h1>) 来自存储在 PHP 中的 HTML 代码变量。

要求:
避免使用正则表达式。

解决方案:

有几种解析技巧PHP 中的 HTML 代码。对于非正则表达式,推荐的方法是使用 PHP 文档对象模型 (DOM)。

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG!';
$DOM = new DOMDocument;
$DOM->loadHTML($str);

// Retrieve all heading elements
$items = $DOM->getElementsByTagName('h1');

// Extract and display the text content
for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "<br\>";
}
?>

此代码输出:

T1
T2
T3

扩展解决方案:
如果需要检索标题标签之间的内容,请使用以下正则表达式:

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG!';
echo preg_replace("#<h1.*?>.*?</h1>#", "", $str);
?>

此代码输出:

Lorem ipsum.The quick red fox...... jumps over the lazy brown FROG

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

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