我试图用一个下划线替换所有连续的空格;通过使用以下代码行,我可以轻松地将一个空格替换为“_”:
str_replace(" ", "_",$name);
Evan 我可以通过以下代码行将一个空格替换为“_”:
str_replace(" ", "_",$name);
但问题是我不知道要检查多少个空格!
如果我的问题不清楚,请告诉我您需要更多澄清的部分。
谢谢
我试图用一个下划线替换所有连续的空格;通过使用以下代码行,我可以轻松地将一个空格替换为“_”:
str_replace(" ", "_",$name);
Evan 我可以通过以下代码行将一个空格替换为“_”:
str_replace(" ", "_",$name);
但问题是我不知道要检查多少个空格!
如果我的问题不清楚,请告诉我您需要更多澄清的部分。
谢谢
可能是最干净和最易读的解决方案:
preg_replace('/[[:space:]]+/', '_', $name);
这将用一个下划线替换所有空格(无论有多少)。
您可以使用正则表达式完成此操作:
[ ]+
这将匹配“一个或多个空格字符”;如果您想要“任何空格”(包括制表符),您可以改用\s+
.
将其与 PHP 一起使用preg_replace()
:
$name = preg_replace('/[ ]+/', '_', $name);
$name = preg_replace('/ +/', '_', $name);
+
在正则表达式中表示“重复 1 次或多次”,因此这将[SPACE]
与[SPACE][SPACE][SPACE]
.
您可以使用正则表达式:
$name = preg_replace("#\s+#", "_", $name);