everyone, 我相信這是一個功能,而不是一個錯誤,我忽略了一些明顯的東西。但我看不到它。strip_tags在遇到某些字符串內容時過早返回 - 爲什麼?
我有下面的代碼,其中包括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()調用。
谷歌,其他論壇和StackOverflow上的搜索沒有得到啓發。 任何人都可以告訴我這裏發生了什麼事嗎?謝謝 - 這將不勝感激!
// Frank