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