簡體   English   中英

編碼SEO友好的URL

[英]Encoding SEO friendly URL

我正在嘗試對短語進行編碼,以便將其傳遞到URL中。 目前,它可以與基本單詞配合使用,其中的空格用短划線代替。

<a href="./'.str_replace(' ', '-', preg_replace("/[^A-Za-z0-9- ]/", '', $phrase)).'">

它產生類似:

/this-is-my-phase

在此URL帶我的頁面上,我能夠將破折號替換為空格,並在數據庫中查詢該短語。

我的問題是該短語是否包含撇號。 我當前的腳本將其刪除。 有什么方法可以保留它,或替換為一些URL友好字符以容納類似內容嗎?

this is bob's page

有一個PHP標准庫函數urlencode()%Xxx編碼非字母數字字符,其中xx是字符的十六進制值。

如果該轉換的限制(&,©,£等)不可接受,請參見rawurlencode()

如果要允許其他字符,則必須將其添加到此部分: ^A-Za-z0-9-因此,例如,如果您希望允許'則正則表達式將為[^A-Za-z0-9-' ]

如果只需要替換所有的撇號( ' ),則可以將其替換為URL編碼字符%27

str_replace("'", "%20", $url);

編輯

如果要替換所有URL非安全字符,請使用內置函數,例如@wallyk的答案。 這要簡單得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM