去除phpvariables,用破折号replace空格

我怎样才能将一个PHPvariables从“我的公司和我的名字”转换为“我的公司 – 我的名字”?

我需要使它全部小写,删除所有特殊字符,并用短划线replace空格。

这个function将创build一个SEO友好的string

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; } 

应该没事 :)

replace特定的字符: 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)));