如何删除php中的html注释

Sha*_* Md 10 html php comments

我正在尝试删除 html 文件中嵌入的所有注释

$data= file_get_contents($stream); <br>
$data = preg_replace('<!--*-->', '', $data); <br>
echo $data;
Run Code Online (Sandbox Code Playgroud)

我仍然收到所有评论 <!- bla bla bla -->
我做错了什么?

Sze*_*obe 13

// Remove unwanted HTML comments
function remove_html_comments($content = '') {
    return preg_replace('/<!--(.|\s)*?-->/', '', $content);
}
Run Code Online (Sandbox Code Playgroud)

正如您可以在这里阅读:https://davidwalsh.name/remove-html-comments-php


Cod*_*ent 5

我知道很多答案已经发布了。我已经尝试了很多,但对我来说,这个正则表达式适用于多行(在我的例子中是 40 行注释)HTML 注释删除。

$string = preg_replace("~<!--(.*?)-->~s", "", $string);
Run Code Online (Sandbox Code Playgroud)

干杯:)


Ned*_*der 0

  1. 正则表达式很难在这里做你想做的事情。

  2. 要匹配正则表达式中的任意文本,您需要.*,而不仅仅是*。您的表达式正在查找<!-,后跟零个或多个-字符,最后是-->