PHP не может распечатать мою строку правильно - PullRequest
0 голосов
/ 25 июля 2011

, поэтому у меня есть следующий код:

$tag = 'script';
$r = '#(<'.$tag.'.*?>).*?(</'.$tag.'>)#';
echo $r;

, но затем, когда он повторяет, он просто повторяет это: #().*?()#

даже не повторяется "скрипт" ..... и обратите внимание, что знака «меньше» и т. д. там нет ...

что я делаю не так?

Ответы [ 3 ]

4 голосов
/ 25 июля 2011

сделать просмотреть источник , чтобы понять почему. Вероятно, будет:

#(<script.*?>).*?(</script>)#';

, который каждый браузер будет отображать как

# (). *? () #

Поскольку он скрывает любые теги XML от разобранного представления, то есть скрывает <script.*?> и </script> что можно увидеть, однако, в неразобранной версии -> просмотреть исходный код

2 голосов
/ 25 июля 2011

Если вы печатаете в HTML или веб-браузере, он будет игнорировать теги, которые он не понимает или обычно не отображает, например <script>. См., Например, этот jsfiddle .

1 голос
/ 25 июля 2011

Это потому что оно печатает

#(<script.*?>).*?(</script>)

Это невидимо для браузера, но посмотрите в исходном коде, оно должно быть там: D

...