4

HTMLファイルに埋め込まれたコメントを削除しようとしています

$data= file_get_contents($stream); <br>
$data = preg_replace('<!--*-->', '', $data); <br>
echo $data;

私はまだすべてのコメントで終わっています < !- bla bla bla -->
何が間違っていますか?

4

8 に答える 8

3

以下の正規表現は HTML コメントを削除しますが、条件付きコメントは保持します。

<!--(?!<!)[^\[>].*?-->
于 2012-07-05T02:58:14.357 に答える
0
  1. 正規表現は、ここでやりたいことを実行するために囲い込むのが非常に困難です。

  2. .*正規表現で任意のテキストに一致させるには、 だけでなくが必要です*。式は を探しており<!-、その後に 0 個以上の-文字が続き、その後に が続き-->ます。

于 2012-07-05T02:56:39.643 に答える
0

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

正規表現を切り替える

于 2012-07-05T02:57:16.230 に答える
-2

このようにする必要があります:

$str = "<html><!-- this is a commment -->OK</html>";
$str2 = preg_replace('/<!--.*-->/s', '', $str);
var_dump($str2);
于 2012-07-05T03:00:41.937 に答える