変数内のすべてのスペースをダッシュに変更するコードがあります
function url($string) {
//lower case everything
$string = strtolower($string);
//make alphaunermic
$string = trim($string);
//Clean multiple dashes or whitespaces
$string = preg_replace("/[\s-]+/", " ", $string);
//Convert whitespaces and underscore to dash
$string = preg_replace("/[\s_]/", "-", $string);
return $string;
}
//some artist now becomes some-artist, some song now becomes some-song
それから私にはルールがあります
RewriteRule ^mp3/(.*)-(.*)/?.html$ mp3.php?artist=$1&song=$2 [nc]
だから私は次のようなURLを持つことができます
www.example.com/mp3/some-artist-some-song.html
しかし、アーティストが曲から分離されている場所が混同されています。そのページでアーティストをエコーアウトすると、実際のアーティスト変数が「some-artist」のみの場合に「some-artist-some」が表示されます。そうでない場合、最初の変数が最後のダッシュの前のすべてであると考えていますが、どうすれば修正できますか?