Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php按元素id清除html字符串_Php_Html_Htmlpurifier - Fatal编程技术网

使用php按元素id清除html字符串

使用php按元素id清除html字符串,php,html,htmlpurifier,Php,Html,Htmlpurifier,正如您在主题中看到的,我正在寻找一个工具,用于使用HTML id属性在php中清理HTML字符串,例如: 根据下面的PHP字符串,我希望清除HTML并擦除black11 $test = ' <div id="block1"> <div id="block11">Hello1 <span>more html here...</span></div> <div id="block12">Hello2 <s

正如您在主题中看到的,我正在寻找一个工具,用于使用HTML id属性在php中清理HTML字符串,例如:

根据下面的PHP字符串,我希望清除HTML并擦除black11

$test = ' 
<div id="block1">
    <div id="block11">Hello1 <span>more html here...</span></div>
    <div id="block12">Hello2 <span>more html here...</span></div>
</div>
<div id="block2"></div>
';
$test='1
这里有更多的html。。。
这里有更多的html。。。
';
将成为

$test = ' 
<div id="block1">
    <div id="block12">Hello2 <span>more html here...</span></div>
</div>
<div id="block2"></div>
';
$test='1
这里有更多的html。。。
';
我已经在htmlpurifier.org上试用过这个工具,但没有得到理想的结果。我唯一的成就就是通过标签移除元素;擦除id;删除类

有没有简单的方法来实现这一点使用净化器或其他


提前感谢,

作为处理HTML数据的通用解决方案,我建议:

  • 将其加载到DOM文档:
  • 操纵DOM
    • 例如,在这里,您可能会使用
  • 获取新的HTML字符串,使用

注意:它会在HTML周围添加一些标记,因为
DOMDocument::saveHTML
会生成对应于完整HTML文档的HTML:-(

我想,用两个
str_replace
来移除这些可能没问题……这不是工作中最难的部分,应该可以很好地完成