有没有理由我没有看到,为什么这不起作用?
$journalName = $_POST['journalName'];
$journalName = str_replace(' ', '_', $journalName);
$_SESSION['journalName'] = $journalName;
echo $_SESSION['journalName'];
输出仍然包含空格......任何想法都很棒
答案 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);
删除空格