是不是有什么原因让我不明白,为什么这个不起作用?
$string = $someLongUserGeneratedString; $replaced = str_replace(' ', '_', $string); echo $replaced;
输出仍然包括空间... 任何想法将是令人敬畏的
试试这个:
$journalName = preg_replace('/\s+/', '_', $journalName);
说明: 你很可能看到的是空格,而不仅仅是简单的空格(这是有区别的)。
我建议您使用它,因为它将检查单个和多个出现的空白(由 Lucas Green 建议)。
而不是:
$journalName = str_replace(' ', '_', $journalName);
对于一个匹配的字符替换,使用 Str _ place:
$string = str_replace(' ', '_', $string);
对于所有匹配的字符替换,使用 Preg _ place:
$string = preg_replace('/\s+/', '_', $string);
去除空白