8

私は HTML ファイルを持っており、その中には Javascript や PHP など、人々が HTML ファイルに入れるかもしれないし、入れないかもしれないすべてのものがあるかもしれません。

この html ファイルからすべてのコメントを抽出したいと考えています。

これを行う上での 2 つの問題点を指摘できます。

  1. ある言語でのコメントは、別の言語ではコメントではない場合があります。

  2. //Javascript では、残りの行はマーカーを使用してコメントアウトされます。ただし、URL には URL も含ま//れているため、置換//を適用してから行の残りの部分を何も適用しない場合は、URL の一部を削除することもできます。

したがって、これは些細な問題ではありません。

これに対する解決策はすでに利用可能ですか?

誰かがすでにこれを行っていますか?

4

4 に答える 4

2

問題 2: URL を「www.url.com」または「www.url.com」のいずれかの言語で記述した場合、すべての URL が引用されていませんか? わからない。その場合は、コードを解析し、バックスラッシュの前に引用符があるかどうかを確認して、それが実際の URL なのか単なるコメントなのかを確認するだけです。

于 2012-10-19T15:04:10.893 に答える
0

あなたの言葉から、正規表現に基づくいくつかのアプローチを熟考しているようです。ファイル全体でそうするのは面倒です。いくつかのツールを使用して、興味深いテキストまたは興味のないテキストを強調表示または破棄してから、残っているものに取り組みます保管/廃棄基準に従ってあなたのふるい。HTML::Tree と TreeBuilder を見てください。HTML マークアップを扱うと非常に便利です。

于 2012-10-19T12:34:09.603 に答える
0

HTML ファイルを文字配列に変換して解析します。先に進むと、「<」、「--」、「www」、「http」などのキー文字列を検出し、それらのセグメントをスキップまたは削除できます。

開始/終了インデックスを適切に識別する必要がありますが、これは課題ですが、フル パワーを使用できます。

パフォーマンスが問題にならない場合は、プロセスを単純化する他の方法もあります。たとえば、すべてのタグは XML::Twig で取得でき、文字列を解析して JS コメントを検出できます。

于 2012-10-21T21:40:29.927 に答える