我将字符串中的任何特殊字符转换为破折号,但使用此字符串的字母数字除外:
return preg_replace("![^a-z0-9]+!i", "-", $str);
但是,在某些情况下,我有这个字符串:
$str = "Hello there chubby!";
将导致:
Hello-there-chubby-
单词结尾处的短语是让我想到如何删除它的解决方案。
答案 0 :(得分:7)
return trim(preg_replace("![^a-z0-9]+!i", "-", $str), '-');
将删除前导和尾随破折号。
答案 1 :(得分:0)
您可以尝试
rtrim("Hello-there-chubby-", "-");
。
或
preg_replace("#[^a-z0-9]+$#ims", "", "Hello-there-chubby-");
用于删除最后一个特殊字符。