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

WBOY
Release: 2016-06-23 14:09:48
Original
1698 people have browsed it


假设有这样一个HTML:


测试文字1



测试文字2

测试文字3




测试文字4


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


回复讨论(解决方案)

可以考虑jQuery,

<script type="text/javascript">jQuery(function(){var res = $(".test").html();return res;});</script>
Copy after login
Copy after login

可以考虑jQuery,

<script type="text/javascript">jQuery(function(){var res = $(".test").html();return res;});</script>
Copy after login
Copy after login


好办法啊,可惜我要的是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<div class='test'><p>测试文字1</p><div><span>测试文字2</span></div>测试文字3<br /><br />测试文字4</div>HTML;require('phpQuery/phpQuery.php');$doc = phpQuery::newDocument($s);echo $doc->find('.test')->html();
Copy after login
Copy after login

测试文字1



测试文字2

测试文字3



测试文字4

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

很好,u010668220 做的不错!

$s =<<< HTML<div class='test'><p>测试文字1</p><div><span>测试文字2</span></div>测试文字3<br /><br />测试文字4</div>HTML;require('phpQuery/phpQuery.php');$doc = phpQuery::newDocument($s);echo $doc->find('.test')->html();
Copy after login
Copy after login

测试文字1



测试文字2

测试文字3



测试文字4

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

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

不用正则,要是也能按这种思维写出来效果就好了。

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

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

mark 
有更好的办法吗

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template