我發現,任何時候我做到以下幾點:回聲一個鏈接,得到一個尾隨斜線?
echo '<a href="http://" title="bla">huzzah</a>';
我結束了以下被呈現給瀏覽器:
<a href="http:///" title="bla">huzzah</a>
這是特別煩,當我鏈接到文件有一個擴展名,因爲它打破了鏈接。
任何想法,爲什麼發生這種情況,我該如何解決它?
更新: 對於那些詢問我的確切實施,這裏是。在我的疑難解答我已經簡單化下來,就像我可以,所以請不要介意,我Concat的明文明文...
function print_it($item) {
echo '<div class="listItem clearfix">';
echo '<div class="info">';
echo '<span class="title">';
if(isset($item[6])) {
echo '<a href="http://" title="">' . 'me' . '</a>';
}
echo '</span>';
echo '</div></div>';
}
更新: 針對馬特龍,我粘貼在你的線上,並且呈現相同的效果。
更新: 對於Fire Lancer的迴應,我放回了原來的嘗試,並會在下面向您展示。
echo substr($item[6],13) . '<br>';
echo '<a href="http://' . substr($item[6],13) . '" title="' . $item[0] . '">' . $item[0] . '</a>';
<span class="title">www.edu.gov.on.ca%2Feng%2Ftcu%2Fetlanding.html<br>
<a href="http://www.edu.gov.on.ca%2Feng%2Ftcu%2Fetlanding.html" title="Employment Ontario">Employment Ontario</a></span>
的原因substr'ing是由於URL正通過rawurlencode運行()在其他地方,並鏈接到http%3A%2F%2F使得頁面認爲這是一個本地/相對鏈接。
更新: 我粘貼沒有真正看它上面的響應。因此,在查看源代碼時,HTML是正確的,但實際頁面在其之後以另一個結尾的斜槓解釋它。
解決方案: 這是rawlurlencode()的全部結果。如果我解碼,或一起跳過編碼,一切都運作完美。關於rawurlencode()的一些東西讓瀏覽器想要在那裏貼一個斜線。
爲什麼這很重要?無論如何,http://是無效的鏈接。放入一個真正的鏈接,忘掉它。 – davr 2008-10-01 15:23:00