preg_replace() 仅用连字符替换空格、符号


preg_replace() only replace spaces, symbols with a hyphen

我如何用连字符替换字母和数字以外的任何东西?这将适用于一个 slug URL,一个人将在其中键入他们想要的 URL 字符串。我遇到的问题是人们输入符号和许多空格,使 URL 无效。

另外,有什么好的资源来测试这一点,这样我就不必再问了?谢谢。

代码

$input_url = "This is only an example: do you like it?";
$slug_url = preg_replace("/[^a-zA-Z0-9]/", "-", $input_url);
print($slug_url);

将输出

This-is-only-an-example--do-you-like-it-

演示