PHP str_replace用下划线替换空格

时间:2012-10-03 08:29:39

标签: php str-replace

有没有理由我没有看到,为什么这不起作用?

    $journalName = $_POST['journalName'];
    $journalName = str_replace(' ', '_', $journalName);
    $_SESSION['journalName'] = $journalName;
    echo $_SESSION['journalName'];

输出仍然包含空格......任何想法都很棒

4 个答案:

答案 0 :(得分:116)

我建议你使用它,因为它会检查单个和多个白色空间的出现(如Lucas Green所建议的那样)。

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

而不是:

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

答案 1 :(得分:12)

请改为尝试:

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

说明:你最有可能看到空格,而不仅仅是普通空格(有区别)。

答案 2 :(得分:4)

对于一个匹配的字符替换,请使用 str_replace

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

对于所有匹配的字符替换,请使用 preg_replace

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

答案 3 :(得分:0)

请改为尝试:

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

删除空格