スラッグを作ろうとしています。私の文字列は次のようなものです:$string='möbel#*-jérôme-mp3-how?';
ステップ1
まず、この文字列から特殊文字、非英数字および非ラテン文字を削除します。
このような:$string='möbel-jérôme-mp3-how';
以前は、文字列に英字のみを使用していました。
だから、私はこのようにしていた:$string = preg_replace("([^a-z0-9])", "-", $string);
しかし、外国語の文字も保持したいので、これではうまくいきません。
ステップ2
次に、1 つ以上の数字を含む単語をすべて削除します。
この例の文字列では、1 つ以上の数字が含まれているため、単語 mp3 を削除します。
したがって、最終的な文字列は次のようになります。$string='möbel-jérôme-how';
私はこのようにしていた:
$words = explode('-',$string);
$result = array();
foreach($words as $word)
{
if( ($word ==preg_replace("([^a-z])", "-", $word)) && strlen($word)>2)
$result[]=$word;
}
$string = implode(' ',$result);
外国の文字が含まれているため、これは現在機能しません。