用下划线替换空格

是不是有什么原因让我不明白,为什么这个不起作用?

    $string = $someLongUserGeneratedString;
$replaced = str_replace(' ', '_', $string);
echo $replaced;

输出仍然包括空间... 任何想法将是令人敬畏的

244066 次浏览

试试这个:

$journalName = preg_replace('/\s+/', '_', $journalName);

说明: 你很可能看到的是空格,而不仅仅是简单的空格(这是有区别的)。

我建议您使用它,因为它将检查单个和多个出现的空白(由 Lucas Green 建议)。

$journalName = preg_replace('/\s+/', '_', $journalName);

而不是:

$journalName = str_replace(' ', '_', $journalName);

对于一个匹配的字符替换,使用 Str _ place:

$string = str_replace(' ', '_', $string);

对于所有匹配的字符替换,使用 Preg _ place:

$string = preg_replace('/\s+/', '_', $string);

试试这个:

$journalName = str_replace(' ', '_', $journalName);

去除空白