我意識到我的搜索存在一個非常明顯的問題,但不知道如何解決它。說有人搜索「你好」,那麼當然會在URL中出現類似於?s = Hello +的內容。
但是,我怎麼與人打交道尋找的東西,像「你好&這樣」?瀏覽器會將第二個查詢讀爲?s = Hello + & +,這樣就可以停止搜索變量「Hello」。我有與英鎊符號相同的問題。如果某人用英鎊符號搜索某些內容,則會將其添加爲網址片段,而不是搜索查詢的一部分。
我似乎無法找到如何處理這些信息,任何人都可以給我個忙嗎?
我意識到我的搜索存在一個非常明顯的問題,但不知道如何解決它。說有人搜索「你好」,那麼當然會在URL中出現類似於?s = Hello +的內容。
但是,我怎麼與人打交道尋找的東西,像「你好&這樣」?瀏覽器會將第二個查詢讀爲?s = Hello + & +,這樣就可以停止搜索變量「Hello」。我有與英鎊符號相同的問題。如果某人用英鎊符號搜索某些內容,則會將其添加爲網址片段,而不是搜索查詢的一部分。
我似乎無法找到如何處理這些信息,任何人都可以給我個忙嗎?
我同意他需要在JavaScript方面而不是在服務器端進行此操作。 –
不一定。使用帶有action =「get」的表單會自動執行此操作,否則在執行此服務器端或客戶端操作之間沒有實際區別,但您應該考慮如果用戶使用Chrome的開發人員工具更改源代碼會發生什麼情況例如,或者乾脆停用JS? – casraf
@OhMrBigshot當使用表單提交時,瀏覽器負責編碼。但是由於操作遇到了問題,我假設它是因爲他的JS。 –
搜索&
不會打破你的搜索。如果您使用GET表單進行搜索,則&
將自動更改爲%26
。其他符號也一樣。
用於PHP的urlencode()
手動轉義或JS的簡單查找/替換(或某些函數在網上旋轉)應該做的傻瓜式的技巧。
使用['urlencode()'](http://php.net/urlencode)輸出URL參數。這是瀏覽器對錶單字段所做的事情。 – mario