如何將一個PHP變量從「My company & My Name」轉換爲「my-company-my-name」?去掉php變量,用破折號替換空格
我需要將它全部小寫,刪除所有特殊字符並用破折號替換空格。
如何將一個PHP變量從「My company & My Name」轉換爲「my-company-my-name」?去掉php變量,用破折號替換空格
我需要將它全部小寫,刪除所有特殊字符並用破折號替換空格。
此功能將創建一個搜索引擎友好的字符串
function seoUrl($string) {
//Lower case everything
$string = strtolower($string);
//Make alphanumeric (removes all other characters)
$string = preg_replace("/[^a-z0-9_\s-]/", "", $string);
//Clean up multiple dashes or whitespaces
$string = preg_replace("/[\s-]+/", " ", $string);
//Convert whitespaces and underscore to dash
$string = preg_replace("/[\s_]/", "-", $string);
return $string;
}
應該罰款:)
更換特定的字符: http://se.php.net/manual/en/function.str-replace.php
例子:
function replaceAll($text) {
$text = strtolower(htmlentities($text));
$text = str_replace(get_html_translation_table(), "-", $text);
$text = str_replace(" ", "-", $text);
$text = preg_replace("/[-]+/i", "-", $text);
return $text;
}
燁,和如果你想處理任何特殊的字符你需要在模式中聲明它們,否則它們可能會被刷新。你可以這樣做的:
strtolower(preg_replace('/-+/', '-', preg_replace('/[^\wáéíóú]/', '-', $string)));
[你嘗試過什麼?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – ManseUK