Dima
Bu deneyin:
<?
preg_match('|content="\d+;url=(.*?)"|i', '<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://www.stackoverflow.com">', $res1);
preg_match('|content="\d+;url=(.*?)"|i', '<META CONTENT="5;URL=http://www.stackoverflow.com" HTTP-EQUIV="Refresh">', $res2);
echo "<pre>";
var_dump($res1);
var_dump($res2);
echo "</pre>";
?>
Çıktı:
array(2) {
[0]=>
string(44) "CONTENT="5;URL=http://www.stackoverflow.com""
[1]=>
string(28) "http://www.stackoverflow.com"
}
array(2) {
[0]=>
string(44) "CONTENT="5;URL=http://www.stackoverflow.com""
[1]=>
string(28) "http://www.stackoverflow.com"
}
: Sen gibi (http-eşdeğer niteliği iç etiketleri arasında içerik niteliği içinde, vb), beyaz boşluk, uğraşmak gerekecek unutmayın
<META HTTP-EQUIV="Refresh" CONTENT=" 5 ; URL=http://www.stackoverflow.com ">
Aşağıdaki kod parçası bu durumda işler:
<?
preg_match('|content="\s*\d+\s*;\s*url=(.*?)\s*"|i', '<META HTTP-EQUIV="Refresh" CONTENT=" 5 ; URL=http://www.stackoverflow.com ">', $res3);
echo "<pre>";
var_dump($res3);
echo "</pre>";
?>
Çıktı:
array(2) {
[0]=>
string(48) "CONTENT=" 5 ; URL=http://www.stackoverflow.com ""
[1]=>
string(28) "http://www.stackoverflow.com"
}
Bu yeterli değilse Son olarak, size http-eşitliğinde = Bu gibi (her zaman dikkate beyaz boşluk Takin) content özelliğinin her tarafında "yenileme" için kontrol edebilirsiniz:
<?
preg_match('|(?:http-equiv="refresh".*?)?content="\d+;url=(.*?)"(?:.*?http-equiv="refresh")?|i', '<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://www.stackoverflow.com">', $res4);
preg_match('|(?:http-equiv="refresh".*?)?content="\d+;url=(.*?)"(?:.*?http-equiv="refresh")?|i', '<META CONTENT="5;URL=http://www.stackoverflow.com" HTTP-EQUIV="Refresh">', $res5);
echo "<pre>";
var_dump($res4);
var_dump($res5);
echo "</pre>";
?>
Çıktı:
array(2) {
[0]=>
string(44) "CONTENT="5;URL=http://www.stackoverflow.com""
[1]=>
string(32) "http://www.stackoverflow.com"
}
array(2) {
[0]=>
string(65) "CONTENT="5;URL=http://www.stackoverflow.com" HTTP-EQUIV="Refresh""
[1]=>
string(32) "http://www.stackoverflow.com"
}
You could, using the same approach. add support for taking into account the parts.
Also, remember always to run regexes with i option, to enable case insensitive match.