我有一个字符串:
$string = "Hello World!";
Run Code Online (Sandbox Code Playgroud)
我想把它变成一个URL友好的标签,我已经开发了一个函数来做到这一点:
function stripJunk($string){
$string = str_replace(" ", "-", $string);
$string = preg_replace("/[^a-zA-Z]\s/", "", $string);
$string = strtolower($string);
return $string;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我在$string上面运行时,我得到以下内容:
$string = "hello-world!";
Run Code Online (Sandbox Code Playgroud)
似乎有些人物在我的preg_replace中滑落,即使从我的理解,他们也不应该.
它应该是这样的:
$string = "hello-world";
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?(这应该是轻松的柠檬吱吱!)
编辑1:我不知道正则表达式是初学者的东西,但无论如何.此外,删除我的字符串中的\ s不会产生所需的结果.
期望的结果是:
编辑2+:稍微清理我的代码.
以下工作对我来说很好:
function stripJunk($string){
$string = str_replace(" ", "-", trim($string));
$string = preg_replace("/[^a-zA-Z0-9-]/", "", $string);
$string = strtolower($string);
return $string;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6582 次 |
| 最近记录: |