スラッグを作成したいのですが、経験から、デコードの可能性は限られていると言えます。たとえば、「Foo-Bar」は「foo-bar」になりますが、それがずっと「foobar」でも「foo-bar」でもなかったことをどうやって知ることができるでしょうか。
または、ナメクジに入れたくない、また「 `」のような表現がない文字はどうですか?したがって、1対1の会話を使用しrawurlencode()
たり、Slugを作成したりできます。これは関数の例ですが、前述したように、信頼できるデコードは不可能です。情報を破棄する必要があるため、その性質上です。
function sanitizeStringForUrl($string){
$string = strtolower($string);
$string = html_entity_decode($string);
$string = str_replace(array('ä','ü','ö','ß'),array('ae','ue','oe','ss'),$string);
$string = preg_replace('#[^\w\säüöß]#',null,$string);
$string = preg_replace('#[\s]{2,}#',' ',$string);
$string = str_replace(array(' '),array('-'),$string);
return $string;
}