当前位置:Gxlcms > PHP教程 > 如何获取HTML的嵌套闭合标签

如何获取HTML的嵌套闭合标签

时间:2021-07-01 10:21:17 帮助过:39人阅读

假设有这样一个HTML:


测试文字1



测试文字2

测试文字3




测试文字4


例如我要获取到和它对应的闭合标签中间的所有内容,如何做?
谢谢!!!!


回复讨论(解决方案)

可以考虑jQuery,

 

可以考虑jQuery,

  

好办法啊,可惜我要的是PHP上能处理的方法。

不太明白你的意思,是不是要用PHP处理获取的结果?
如果这样的话,可以使用定界符

$html = <<

测试文字1



测试文字2

测试文字3




测试文字4

EOT;
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$tags = $xpath->query('//div[@class="test"]');
foreach($tags as $tag)
echo $tag->nodeValue;

你的HTML不完整,有3个,不符合w3c标准。

很好,u010668220 做的不错!

$s =<<< HTML

测试文字1

测试文字2测试文字3

测试文字4HTML;require('phpQuery/phpQuery.php');$doc = phpQuery::newDocument($s);echo $doc->find('.test')->html();

测试文字1



测试文字2

测试文字3



测试文字4

phpQuery 可以在网上下载
phpQuery 遵循 jquery 语法,除了 js 的事件处理外,就是一个 php 版的 jquery
会用jquery 就会用 phpQuery
唯一的缺点就是体积稍稍大了点

很好,u010668220 做的不错!

$s =<<< HTML

测试文字1

测试文字2测试文字3

测试文字4HTML;require('phpQuery/phpQuery.php');$doc = phpQuery::newDocument($s);echo $doc->find('.test')->html();

测试文字1



测试文字2

测试文字3



测试文字4

哈哈,那个回答是 littlebo01 回复的,我是提问者!!
原来PHP也可以使用JQ,长见识了!!

方法真好!!我等下试试
在网上找到一种 方法是用正则的,类似这个
<(?[\w]+)[^>]*\s[iI][dD]=(?["']?)footer(?(Quote)\k)[^>]*?(/>|>((?<\k[^>]*>)|>(?<-Nested>)|.*?)*>)
但真心看不懂呀!!
思想就是先匹配最前面的起始标签,假设是div吧(
不用正则,要是也能按这种思维写出来效果就好了。

不太明白你的意思,是不是要用PHP处理获取的结果?
如果这样的话,可以使用定界符

就是使用PHP来获取这段数据,上面有人介绍了PHP的JQ,呵呵。。
不过希望有其它方法

mark
有更好的办法吗

人气教程排行