2011-08-10 2 views
0

PHPを使用して、指定されたサイトと同じサーバー上にある既存のサブディレクトリを検索しようとしています。HTML文書のサブディレクトリを解析します

Array 
(
    [0] => 'styles' 
    [1] => 'scripts' 
    [2] => 'images' 
) 

(ものであり、すべてのディレクトリは、HTMLソースで参照されている)

私は」:seoguru.nlのホームページを解析するとき、例えば、私はこれに似た配列を持っていると思い これを行うには2つの方法を考えていましたが、最初は高度な正規表現を使用していましたが、正規表現についての私の知識はこれまでのところしかありません... 2番目の方法はDOMDocumentのようなHTMLパーサークラスを使うことですどのように正確に行うかを知っている。

もう1つの問題は、外部のサイト、 CDNや単に他のサイトへのリンクを除外する必要がありますが、後でフィルタリングすることができます。

さらに詳しい情報が必要な場合は、お問い合わせください!

答えて

1

HTMLを解析すると、今までのところしか表示されません。 CSSとJavascriptの両方にurlが含まれている可能性があることを忘れないでください.HTMLに使用するURLとは異なるパーサーにする必要があります。

それ以外では、正規表現を使用してHTMLを解析しないでください。彼らはあなたの顔にあまりにも簡単に爆破するでしょう。間違いなく、HTMLの最初の唯一の選択肢としてDOMを使用してください。いくつかのxpathを使用してURLを含むタグを取得するのは簡単です(//*[@src]が最も簡単で、スキャンする必要があるほとんどのものをカバーします)。 JSとCSSの部分は、PHPに組み込まれているパーサーやマニピュレータがないため、おそらく最も難しいでしょう。

+0

私はすべてのURLを必要としませんが、実際には既存のサブディレクトリを知る必要があるため、CSSファイルとJSファイルを解析する必要はありません。すべてのURLを取得したら、どうすればサブディレクトリ名を取得できますか? – Jeroen

+0

さて、私はそれが働いて、あなたの助けてくれてありがとう! – Jeroen

関連する問題