каждый,
Я уверен, что это особенность, а не ошибка, и я пропускаю нечто очевидное здесь. Но я просто не вижу этого.
У меня есть следующий код, который состоит из HTML, приправленный некоторыми вещами PHP, завернутыми в короткие теги:
$wtf = <<<WTF
<h1>First header</h1>
<p class="intro">First line of text</p>
<h2>Second header</h2>
<p>Second line of text</p>
<?= showImg ('image.jpg'); ?>
<p>Third line of text</p>
<?= showImg ('image.jpg', ''); ?>
<p>Fourth line of text</p>
<?= showImg ('image.jpg', '', ''); ?>
<p>Fifth line of text</p>
<?= showImg ('image.jpg', '', 'class="content"'); ?>
<p>Sixth line of text</p>
WTF;
echo strip_tags ($wtf);[/CODE]
Это выводит следующее:
First header
First line of text
Second header
Second line of text
Third line of text
Fourth line of text
Fifth line of text[/CODE]
Как видите, шестая строка текста не включена в вывод. Виновником является предыдущая строка,
<?= showImg ('image.jpg', '', 'class="content"'); ?>
или, точнее, третий параметр в вызове showImg (). Как только strip_tags () встречает эту часть, он просто завершает работу без отображения сообщения об ошибке и возвращает обработанный текст, что заставляет меня поверить, что каким-то образом он считает, что столкнулся с концом данных, которые он должен обработать.
Почему?
Кстати,
Сам бит работает нормально, когда я его запускаю, и даже при полном отчете об ошибках не генерируются предупреждения или ошибки, связанные с синтаксисом, поэтому я считаю, что это допустимый и допустимый синтаксис. Да, я в курсе всей полрелигиозной дискуссии о том, является ли использование коротких тегов хорошей идеей или нет, но сейчас я использую ее, и все, что я хочу знать, - это почему strip_tags преждевременно возвращается, когда обнаруживает третий параметр в вызов showImg ().
Google, другие форумы и поиск по StackOverflow не привели к просветлению.
Кто-нибудь может сказать мне, что здесь происходит? Спасибо - это будет высоко оценено!
// Фрэнк