2011-08-05 7 views
1

URLを検証してタイトルを取得する必要があります。これを行うには、URLをカールし、正規表現を使用してタイトルを抽出します。ただし、サイトがダウンしている場合や、「カール可能」でない場合があります。たとえば、http://arsenal.comをカールすると、This site has permanently moved to http://www.arsenal.comが返されます。PHPでURLを使用してサイトタイトルを取得する(およびURLを検証する)

返されたテキストに 'site'、 'moved'、urlなどが含まれているかどうかを確認するための正規表現を書くことができます。しかし、それは愚かで過度に複雑に思えます。私は、ウェブブラウザにhttp://arsenal.comを入力した場合しかし、それはその自動的www.arsenal.comにリダイレクト

。彼らはどのようにこれを行うのですか?あなたはインターネットの人々をどのように示唆していますか?

+2

は限り「恒久的に移動する」として、あなただけのリダイレクトをフォローするCURL PARAMTERを設定する必要があります - それは自動的にwww.arsenal.comを取得します。 javascriptやなど、すべてのタイプのリダイレクトをキャッチしたい場合は、それよりも少し複雑です。これを見てください:http://www.php.net/manual/en/ref.curl.php#92848 –

答えて

0

curl -Lを試してみてください。 -Lスイッチは、サーバがロケーションの移動を応答した場合に、カールがリダイレクトに従うようにします。ブラウザは、(この場合は、3XX)応答コードを見て、その後、次のヘッダーを探して、その値にリダイレクトすることで、自動的にこれを実現:

Location: newsite.com 

私はからそのスイッチを使用するかどうかはわかりませんしかし、カールのPHPラッパー、私はPHPの男ではない。私は単純な方法があると思います。

+0

ええ、Aleks Gは、正しい参照に私を送ってください。 –