RegEx глюк

korvin0

моська
RegEx глюк

Никто не скажет, почему
PHP:
if (preg_match("/<script>/i","aaa <sCrIpT> dsdsa",$matches)) echo "НАШЕЛ: \"".$matches[0]."\""; else echo "НЕ НАШЕЛ";
выдает
Код:
НАШЕЛ: ""
???
 

algo

To the stars!
Оно правильно выдает, просто ты не видишь: браузер не отображает на экран <script>, считая его тагом.

Правильный вариант:

preg_match("/<script>/i","aaa <sCrIpT> dsdsa",$matches);
echo "НАШЕЛ: \"".htmlspecialchars($matches[0])."\"";
 

Winer

Мимо проходил
щас сам офигел
пошёл проверять:
PHP:
$str="aaa <sCrIpT> dsdsa";
$pattern="/<script>/i";
if(preg_match($pattern,$str,$matches)) 
{
	print_r($matches);
	//echo "&#205;&#192;&#216;&#197;&#203;: \"".$matches[0]."\""; 
}
else
{
	echo "&#205;&#197; &#205;&#192;&#216;&#168;&#203;";
};
, смотрю сырцы странички, а там -
Array
(
[0] => <script></script>
)
всё дело оказалось в mozilla firebird, в IE такого не наблюдаеться :) Вот так браузер искажает приходящие данные :)
 
Сверху