我正在尝试用下划线替换所有空格,以下内容无效:
$id = "aa aa";
echo $id;
preg_replace('/\s+/', '_', $id);
echo $id;
打印
aa aaaa aa
答案 0 :(得分:59)
函数preg_replace
不会就地修改字符串。它返回一个带有替换结果的新字符串。您应该将回调结果分配回$id
变量:
$id = preg_replace('/\s+/', '_', $id);
答案 1 :(得分:15)
我认为str_replace()
可能更合适:
$id = "aa aa";
$id = str_replace(' ', '_', $id);
echo $id;
答案 2 :(得分:12)
您忘记将preg_replace
的结果分配到$id
$id = preg_replace('/\s+/', '_', $id);
答案 3 :(得分:2)
我们需要替换字符串中的空格" aa aa"用' _' (下划线)。 \ s +用于匹配多个空格。输出将是" aa_aa"
<?php
$id = "aa aa";
$new_id = preg_replace('/\s+/', '_', $id);
echo $new_id;
?>
答案 4 :(得分:2)
有时,在linux / unix环境中,
$strippedId = preg_replace('/\h/u', '', $id);
试试这个。