2017-10-12 27 views
-3

請如何爲我的php博客創建一個只能接受字母數字,引號,逗號,句號,冒號,空格,_,@, #,&,*,%,貨幣符號和 - 但用空格替換所有其他字符,然後用短劃線替換所有空格。 所有協助將不勝感激。創建一個可接受博客URL的某些字符的slu 012請

+0

而不是創建自己的函數,只需使用現有的庫。它會比你自己做的更好,而且重新發明輪子確實沒有意義。 你可以試試https://github.com/cocur/slugify之類的東西,而且快速谷歌搜索也會給你很多其他的選擇。 – chocochaos

+0

@chocochaos我已經在這裏做了一些Google搜索,發現了一些完全適合我的東西。我想要的是一個函數,它檢索單擊的帖子的標題並將其附加到URL,如下所示:www.my現場。 com/blog/slug-created-from-title-of-blog – banky

+0

所以你只需將Slugify的結果附加到你的url中,這似乎並不難。如果你需要它,我已經用一個示例函數更新了我的答案,但它確實不應該太過挑戰。 – chocochaos

回答

2

而不是創建自己的功能,只需使用現有的庫。它會比你自己做的更好,而且重新發明輪子確實沒有意義。

你可以試試類似slugify的東西,快速谷歌搜索也會給你很多其他的選擇。


爲您的使用情況下,一個簡單的函數來創建一個URL蛞蝓,使用Slugify:

/** 
    * @param string $urlFormat 
    * @param string $postTitle 
    * 
    * @return string 
    */ 
    function createUrl(string $urlFormat, string $postTitle): string 
    { 
     $slugify = new Slugify(); 
     $slug = $slugify->slugify($postTitle); 
     $url = sprintf($urlFormat, $slug); 

     return $url; 
    } 

    createUrl('http://example.com/some/path/%s', 'Hello world'); 

請注意,此示例假設您使用PHP 7.0或更高版本。如果不是,請刪除函數和參數的類型提示。

+0

這看起來像一條評論。不是我的投票雖然 – Akintunde007

+0

你是對的。 OP的問題已經變得更加清晰了,答案已經有所更新了。 – chocochaos

相關問題