|
單行注釋僅僅注釋到行末或者當前的 php 代碼塊,視乎哪個首先出現。這意味著在 // ... ?> 或者 # ... ?>之后的 HTML 代碼將被顯示出來:?> 跳出了 php 模式并返回了 HTML 模式,// 或 #并不能影響到這一點。
由以上討論可可知,即使?>出現在//注釋中,php解析器也會認為php解析結束(當 php 碰到結束標記 ?> 時,就簡單地將其后的內容原樣輸出( 除非其后緊接著一個新行,參見指令分隔符)直到碰到下一個開始標記為止)。
復制代碼 代碼如下:
<?php
//$a = '<a href="test.html" title="#">test</a><a href="test.html" title="#">test</a>';
//preg_match_all('|<a[^>]+href="([^/"]*)".*?>|', $a, $b);
//print_r($b);
輸出為:
復制代碼 代碼如下:
:!php preg.php
|', $a, $b);
//print_r($b);
如何修正上述問題呢?或者你使用/* */進行注釋,或者將?>用字符串連接符進行連接,如下:
復制代碼 代碼如下:
<?php
$a = '<a href="test.html" title="#">test</a><a href="test.html" title="#">test</a>';
preg_match_all('|<a[^>]+href="([^/"]*)".*?'.'>|', $a, $b);
print_r($b);
這一細節同樣適用于JS結束標簽</script>
php技術:關于PHP結束標簽的使用細節探討及聯想,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。