Is there a reason that I'm not seeing, why this doesn't work?
$string = $someLongUserGeneratedString;
$replaced = str_replace(' ', '_', $string);
echo $replaced;
The output still includes spaces... Any ideas would be awesome
Laurent Brieu
I'll suggest that you use this as it will check for both single and multiple occurrence of white space (as suggested by Lucas Green).
$journalName = preg_replace('/\s+/', '_', $journalName);
instead of:
$journalName = str_replace(' ', '_', $journalName);
Try this instead:
$journalName = preg_replace('/\s+/', '_', $journalName);
Explanation: you are most likely seeing whitespace, not just plain spaces (there is a difference).
For one matched character replace, use str_replace:
$string = str_replace(' ', '_', $string);
For all matched character replace, use preg_replace:
$string = preg_replace('/\s+/', '_', $string);
Try this instead:
$journalName = str_replace(' ', '_', $journalName);
to remove white space
来源:https://stackoverflow.com/questions/12704613/php-str-replace-replace-spaces-with-underscores