RegExp 可去除 HTML 注释

2022-08-30 10:56:06

寻找匹配和替换的正则表达式序列(最好是 PHP,但没关系)来更改此值(开始和结束只是需要保留的随机文本)。

在:

fkdshfks khh fdsfsk 
<!--g1-->
<div class='codetop'>CODE: AutoIt</div>
<div class='geshimain'>
    <!--eg1-->
    <div class="autoit" style="font-family:monospace;">
        <span class="kw3">msgbox</span>
    </div>
    <!--gc2-->
    <!--bXNnYm94-->
    <!--egc2-->
    <!--g2-->
</div>
<!--eg2-->
fdsfdskh

到此 OUT:

fkdshfks khh fdsfsk 
<div class='codetop'>CODE: AutoIt</div>
<div class='geshimain'>
    <div class="autoit" style="font-family:monospace;">
        <span class="kw3">msgbox</span>
    </div>
</div>
fdsfdskh

谢谢。


答案 1

您只是想删除评论吗?怎么样

s/<!--[^>]*-->//g

或稍微好一点(由提问者自己建议):

<!--(.*?)-->

但请记住,HTML不是正则的,所以当有人向它抛出奇怪的边缘情况时,使用正则表达式来解析它会导致你陷入一个伤害的世界。


答案 2
preg_replace('/<!--(.*)-->/Uis', '', $html)

此 PHP 代码将从$html字符串中删除所有 html 注释标记。


推荐