2013-05-11 25 views
2

我對使用perl的空格有問題。我從數據庫中獲取信息,並使用它們查詢字符串,但如果有空格,我無法驗證我的頁面。使用Perl和html的鏈接中的空格

<a href="fish.cgi?fish=White Shark">White Shark</a> 

有什麼我可以做的嗎?

+6

urlencode字符串。 – jordanm 2013-05-11 14:51:17

回答

5

將您的網址轉換爲URI對象,這些對象將爲您處理所有轉義和規範化操作。它們也可以用作字符串。

use URI; 

# Prints fish.cgi?fish=White%20Shark 
print URI->new("fish.cgi?fish=White Shark"); 

我會推薦這個單獨轉義的URI。一旦你有一個URI對象,你就知道使用它是安全的。

2

您可以用空格的URL編碼版本%20替換鏈接中的空格。在發佈後你可能不得不再次刪除它,不太確定。

例如:www.google.ca/this site會被編碼爲www.google.ca/this%20site

所以,你的版本會fish.cgi?fish=White%20Shark,這應該正常發佈。

+0

謝謝阿蒙,一天的第一個答案,很昏昏欲睡:) – Senjai 2013-05-11 16:53:18