« 74. 為什麼要做 URL 的解碼與編碼? | (回到Blog入口) | 76. 什麼是 HTTP 的 mime-type 檔頭? »

75. PHP 如何列印 URL 字串?

jollen 發表於 October 27, 2006 8:05 PM

假設我們撰寫的 PHP 要輸出一段超鍊結的 HTML,底下這段程式碼是錯誤的:

<?php echo "<a href=\"viewpost.php?name=Chen Jin-Hong, jollen@o3.net\">Jollen 的留言</a>"; ?>

這段 HTML 的 URL 部份是錯誤的,因為並沒有對相關字元做編碼的工作。PHP 提供 rawurlencode() 函數來幫我們做這件工作,因此上面這段程式應該要改成:

<?php $URL = rawurlencode("Chen Jin-Hong, jollen@o3.net"); echo "<a href=\"viewpost.php?$URL\">Jollen 的留言</a>"; ?>

只要是 URL,在輸出前,不管是利用 echo 或 print,都必須先使用 rawurlencode() 函數先編碼才能輸出。

--jollen

版權聲明

請參閱頁面底部的 CC 授權條款。此外,Jollen's PHP 專欄禁止引用、修改與轉貼,如果您想與朋友分享的話,我們只允許網站連結(hyperlink)的形式。

發表一個評論

(如果你此前從未在此 Blog 上發表過評論,則你的評論必須在 Blog 主人驗證後才能顯示,請你耐心等候。)

| Top | Jollen's Forum |
Jollen's PHP 專欄採用 Attribution-NonCommercial-NoDerivs 2.5 授權條款
Copyright(c) 2001-2007,2010 www.jollen.org