PHP中解析HTML字符串的问题_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP中解析HTML字符串的问题

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:问题字符串解析标签
黑客防线网安网讯:  下午的时候同事碰到了一个小问题,是这样的:他从别人的接口中取回一长串的HTML,但是他只需要其中的一块。这就涉及到在PHP中解析HTML字符串的问题,花了挺长时间,找了不同的方法,在此...
  下午的时候同事碰到了一个小问题是这样的:他从别人的接口中取回一长串的HTML但是他只需要其中的一块这就涉及到在PHP中解析HTML字符串的问题,花了挺长时间,找了不同的方法,在此记录一下:
  
  1.最简单的就是字符串解析,灵活运用strpos,substr混合处理,把那一段代码抠出来由于他要取的是一个固定的div内的东西,而且那个div的class属性也是固定的,所以这种方法倒也简单,直接先以<divclass=”xxx”作为needle找到那个div,然后做一些操作就行了。
  
  2.PHPDOMDocument。听到这个问题的时候首先想到的是PHP的DOM解析功能,刚开始真的以为找到了救星。但是最后发现这个东西的功能不能解决问题,反正我是没找到。因为最好我们想要把div里面的html代码输出出来,结果用DOMDocument提供的方法输出的全是不带标签的纯文本,无奈,只好弃用。(可能是我不知道它的用法,希望知道的不吝赐教。)
  
  3.TidyFunctions。其实Tidy是用来整理HTML的,不过它也可以进行HTML的解析处理。先使用tidy_parse_string()把字符串转换成tidy对象,然后就可以利用tidy的方法对其进行处理了,还算方便,不过这个东西只能在PHP4.3.x和PHP5的版本下才有。具体方法和使用请参考手册。
  
  4.strip_tags()。无意中发现了这个函数,实在是太好用了!!上面几种方法最好我都是结合着strip_tags()来使用的。strip_tags()可以过滤掉HTML和PHP标签,返回一个全新的字符串!用法如下:
  
  stringstrip_tags(string要处理的字符串[,string想保留的标签])
  
  如果你想保留某些标签,比如<a>标签,就可以这样写,strip_tags($str,“<a>”),如果想保留多个标签,就可以这么写:strip_tags($str,“<a><img>”);标签之间用空格隔开就可以了。
  
  5.另外,据我另一个同事测试,好像使用XMLReader来搞,没尝试,有兴趣的可以搞一下。
  
  在工作中学习到的一些小东西,记录下来,省的以后忘记了。如果大家有什么更好的技巧,欢迎赐教,谢谢。
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17452-1.html
网站维护教程更新时间:2012-09-21 05:19:10  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer