我想在用户提交的帖子标题的基础上创建一个连字符分隔的字符串。 假设用户输入帖子的标题如下
$title = "USA is going to deport indians -- Breaking News / News India";
我想将其转换为如下
$url = "usa-is-going-to-deport-indians-breaking-news-news-india";
可能还有一些我想要转换的角色。例如'&' '和'和'#','%',连字符( - )。 其中一种方法是使用php替换功能。但是使用这种方法,我必须多次调用replace函数。这很费时间。还有一个问题是标题字符串中可能有多个连字符( - ),我想将多个连字符( - )转换为一个连字符( - )。
有没有强大而有效的方法来解决这个问题?
答案 0 :(得分:5)
您可以使用preg_replace
功能执行此操作:
输入:
$string = "USA is going to deport indians -- Breaking News / News India";
$string = preg_replace("/[^\w]+/", "-", $string);
echo strtolower($string);
输出
usa-is-going-to-deport-indians-breaking-news-news-india
答案 1 :(得分:0)
我建议使用sanitize_title()
功能
检查documentation