3

我使用以下方法将字符串中的任何特殊字符转换为破折号,字母数字除外:

return preg_replace("![^a-z0-9]+!i", "-", $str);

但是,在某些情况下,我有这个字符串:

$str = "Hello there chubby!";

这将导致:

Hello-there-chubby-

单词末尾的破折号让我想到了如何删除它的解决方案。

4

2 回答 2

7
return trim(preg_replace("![^a-z0-9]+!i", "-", $str), '-');

将去除前导和尾随破折号。

于 2012-11-28T11:36:59.303 回答
2

你可以试试 rtrim("Hello-there-chubby-", "-");

或者

preg_replace("#[^a-z0-9]+$#ims", "", "Hello-there-chubby-");

用于删除最后一个特殊字符。

于 2018-06-25T06:36:20.713 回答