PHP解析HTML代码

PHP Parse HTML code

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Best methods to parse HTML

如果有以下情况,我如何解析保存在PHP变量中的HTML代码:

1
T1Lorem ipsum.T2The quick red fox...T3... jumps over the lazy brown FROG!

我只想得到标题之间的文本,我理解使用正则表达式不是一个好主意。


使用PHP文档对象模型:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
   $str = 'T1Lorem ipsum.T2The quick red fox...T3... 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/>";
?>

输出如下:

1
2
3
 T1
 T2
 T3

【编辑】:操作说明后:

如果你想要像洛伦伊普桑这样的内容。等等,您可以直接使用这个regex:

1
2
3
4
<?php
   $str = 'T1Lorem ipsum.T2The quick red fox...T3... jumps over the lazy brown FROG';
   echo preg_replace("#<h1.*?>.*?#","", $str);
?>

此输出:

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