1

ユーザーが投稿した投稿のタイトルに基づいて、URL で使用するハイフン区切りの文字列を作成したいと考えています。ユーザーが投稿のタイトルを次のように入力したとします。

$title = "USA is going to deport indians -- Breaking News / News India";

以下のように変換したい

$url = "usa-is-going-to-deport-indians-breaking-news-news-india";

変換したいキャラクターが他にもいるかもしれません。たとえば、'&' を 'and' に、'#'、'%' をハイフン (-) にします。方法の 1 つは、php の置換機能を使用することです。しかし、この方法を使用すると、replace 関数を何度も呼び出さなければなりません。時間がかかります。もう 1 つの問題は、タイトル文字列に複数のハイフン (-) が含まれる可能性があることです。複数のハイフン (-) を 1 つのハイフン (-) に変換したいと考えています。

この問題を解決するための堅牢で効率的な方法はありますか?

4

2 に答える 2

8

You can use preg_replace function to do this :

Input :

$string = "USA is going to deport indians -- Breaking News / News India";

$string = preg_replace("/[^\w]+/", "-", $string);
echo strtolower($string);

Output :

usa-is-going-to-deport-indians-breaking-news-news-india
于 2013-04-04T06:33:31.850 に答える
1

関数を使用してドキュメントsanitize_title()を確認することをお勧めします

于 2016-09-06T11:56:22.150 に答える