2017-10-12 8 views
-3

英数字、逆コンマ、コンマ、フルストップ、コロン、空白、_、@、および@を受け入れる関数を使用して、 #、&、*、%、通貨記号および - は、他のすべての文字をスペースで置き換え、すべてのスペースをダッシュ​​で置き換えます。 すべての援助をいただければ幸いです。ブログのURLに特定の文字を受け入れるスラッグを作成する

+0

独自の関数を作成する代わりに、既存のライブラリを使用してください。あなたが自分で作るものよりも優れていると思いますし、ホイールを再発明することは本当に意味がありません。 https://github.com/cocur/slugifyのようなものを試してみてください。すばやくGoogle検索すると、他にもたくさんのオプションがあります。 – chocochaos

+0

@chocochaos私はいくつかのグーグルでB4を投稿しましたが、正確に私のために働く何かを見つけることができませんでした。私がしたいのは、クリックされた投稿のタイトルを取得し、URLにそれを追加する機能です:www.myサイト。 com/blog/slug-created-from-blog-of- – banky

+0

あなたはただあなたのURLにSlugifyの結果を追加します。それはあまりにも難しくありません。私はあなたがそれを必要とする場合、私の答えを以下のように更新しましたが、それはあまりにも挑戦ではありません。 – chocochaos

答えて

2

独自の関数を作成する代わりに、既存のライブラリを使用してください。あなたが自分で作るものよりも優れていると思いますし、ホイールを再発明することは本当に意味がありません。

slugifyのようなものを試してみると、すばやくGoogle検索で他にもたくさんのオプションが用意されています。

あなたのユースケースについては

、Slugifyを使用して、スラグとURLを作成するための簡単な関数:

/** 
    * @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

関連する問題