web-dev-qa-db-ja.com

PHP W3 Validator API、これは良いですか?

私は自分のサイトのコードが有効かどうかを確認する方法を探していましたが、 W3 Validator に進み続けたので、実際には「API」を作成することにしました!

誰かが私が作ったものに対するより良い解決策を見つけることができるかどうかを知りたかっただけです。これは私が現在使用しているもので、?uri = http://www.mydomain.comを使用しています:

<?php
if(!$_GET['uri']) {
echo "No URI!";
}
else {
 $CheckURI = "http://validator.w3.org/check?uri=".$_GET['uri'];
 $URL = file_get_contents($CheckURI);
 $Start = strpos($URL, "<title>") + 7;
 $End = strpos($URL, "</title>");
 $Title = substr($URL, $Start, $End-$Start);
 if(preg_match('[Invalid]',$Title)) {
     //Code is INVALID
     echo "<a href='$CheckURI' title='This is not good!' target='_BLANK'>INVALID Source</a>";
 }
 elseif(preg_match('[Valid]',$Title)) {
     //Code is VALID
     echo "<a href='$CheckURI' title='Check It Yourself!' target='_BLANK'>Valid Source</a>";
 }
 else {
    //It Went WRONG
    echo "";
 }
}
2
ExnnTech

W3Cがバリデーターを作成したときにユースケースを念頭に置いていたとは思いません。 独自に実行する ではないのはなぜですか?作成したスクリプトは、すべての要求を中継しているため、非常に遅くなります。また、スクリプトはE_STRICTで正常に実行されません。また、スクリプトはURIパラメーターをエンコードしません。また、不必要に正規表現を使用しています。また、URIをHTMLエンコードしていません。

2
Janus Troelsen