1

開発者ではなくユーザーに表示されたときにHTMLコメントを削除する方法が必要です。これを行うための最良の方法は何だろうかと思います。

4

3 に答える 3

1

試す:

$html = eregi_replace("<!--[^>]*-->", "", $html);

または、以下で説明するように preg_replace を使用します。

$html = preg_replace("/<!--(.|\s)*?-->/", "", $html);

どちらにしても、文字列に埋め込まれたコメント区切り文字は問題を引き起こします。

于 2009-09-30T09:05:03.333 に答える
1

DOMDocumentのようなパーサーを使用し、DOM ツリーをトラバースしてすべてのコメント ノードを削除するのが最善の方法です。または、自分でパーサーを作成します。

于 2009-09-30T09:09:06.040 に答える
1

自分の PHP ページからコメントを削除したり、文字列内にある他の誰かのマークアップからコメントを削除したりしていますか?

後者については、Gumbo が提案するように、HTML パーサーを使用してください。HTML の解析に正規表現を使用しないでください。(その文にホットキーをバインドする必要があります。SO に関する 3 つおきの質問は、HTML を正規表現で解析しようとしています。これは良い考えではありません。)

前者の場合は、HTML コメントの代わりに PHP コメントを使用するだけで、後処理を行う必要はありません。

<?php /* blah */ ?>
于 2009-09-30T09:54:41.797 に答える