我正在嘗試爲網址創建slu slu。PHP:從字符串中刪除小字,忽略字中的德語字符
我有以下的測試字符串:
$kw='Test-Tes-Te-T-Schönheit-Test';
我想刪除小字不到此字符串從三個字符。
所以,我要輸出爲
$kw='test-tes-schönheit-test';
我曾嘗試這樣的代碼:
$kw = strtolower($kw);
$kw = preg_replace("/\b[^-]{1,2}\b/", "-", $kw);
$kw = preg_replace('/-+/', '-', $kw);
$kw = trim($kw, '-');
echo $kw;
但結果是:
test-tes-sch-nheit-test
因此,德國字符ö正在從字符串 中刪除,而德語單詞Schönheit正在被視爲兩個單詞。
請建議如何解決這個問題。
非常感謝。
嗨馬里奧,你寫道:我會使用preg_replace_callback或/ E順便說一句,而是搜索[A-Z]更換。破折號或只是[ - +] +摺疊連續的。你可以請示範如何?謝謝。 – Arnold