当前位置: 首页 > 面试题库 >

PHP解析HTML代码

澹台宾白
2023-03-14
问题内容

我如何解析包含在PHP变量中的HTML代码,例如:

<h1>T1</h1>Lorem ipsum.<h1>T2</h1>The quick red fox...<h1>T3</h1>... jumps over the lazy brown FROG!

我只想 获取标题之间的文本, 并且我知道使用正则表达式不是一个好主意。


问题答案:

使用PHP 文档对象模型:

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

   //get all H1
   $items = $DOM->getElementsByTagName('h1');

   //display all H1 text
   for ($i = 0; $i < $items->length; $i++)
        echo $items->item($i)->nodeValue . "<br/>";
?>

输出为:

 T1
 T2
 T3

[编辑]:OP澄清后:

如果您想要类似 Lorem ipsum 的内容 等,您可以直接使用此正则表达式:

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

输出:

Lorem ipsum。快速的红狐狸……跳过了懒惰的棕色FROG



 类似资料:
  • 本文向大家介绍php用xpath解析html的代码实例讲解,包括了php用xpath解析html的代码实例讲解的使用技巧和注意事项,需要的朋友参考一下 实例1 实例2 以上就是相关的2个实例内容,以及相关的代码, 感谢大家对呐喊教程的支持。

  • 问题内容: 如果我们将Apache Web服务器设置为将Apache配置为将 所有 HTML 处理为PHP,是否存在安全性/性能方面的顾虑?我专门指的是: 我当时需要将一些PHP逻辑添加到一些HTML文件中;理想情况下,我不必将文件名更改为(保持的页面排名等)。 这与以下问题有关:httpd AddType指令 编辑: 从下面的现有答案/评论中,社区似乎建议使用重定向或仅针对特定的HTML文件。约

  • 本文向大家介绍使用PHP的HTML DOMDocument解析HTML,包括了使用PHP的HTML DOMDocument解析HTML的使用技巧和注意事项,需要的朋友参考一下 可以通过以下代码获取<div>标记内的<div>标记内的文本,其中<div>内的class =“ main”内- 示例 输出结果 这将产生以下输出-

  • 问题内容: 如何解析HTML / XML并从中提取信息? 问题答案: 本机XML扩展 我更喜欢使用本机XML扩展]之一,因为它们与PHP捆绑在一起,通常比所有第3方库都快,并为我提供了所需的所有标记控制权。 DOM DOM扩展使您可以使用PHP 5通过DOM API通过XML文档进行操作。它是W3C的Document Object Model Core Level 3的实现,它是一种平台和语言无关

  • 问题内容: 我知道我们可以使用PHP DOM 来使用PHP解析HTML。我也在堆栈溢出中发现了很多问题。但是我有一个特定的要求。我有如下的HTML内容 我想解析以上HTML并将内容保存到两个不同的数组中,例如: 和 我可以简单地使用jQuery来实现。但是我不确定这是否正确。如果有人能指出我正确的方向,那就太好了。提前致谢。 问题答案: 尝试查看PHP简单HTML DOM解析器 它具有类似于jQu

  • HTML5 Boilerplate 默认提供两个 html 页面: index.html 404.html index.html no-js类 no-js 类可以让开发者依据 JavaScript 被启用(.js)或被禁止(.no-js)两种状态,更轻易准确地添加自定义样式。 使用这个技巧也有助于避免浏览器闪烁(FOUC)。 lang 属性 请认真考虑在 <html> 中添加 lang 属性,从而