Y a-t-il une raison pour laquelle je ne vois pas pourquoi cela ne fonctionne pas?
$string = $someLongUserGeneratedString;
$replaced = str_replace(' ', '_', $string);
echo $replaced;
La sortie comprend toujours des espaces ... Toutes les idées seraient géniales
Je suggérerais que vous utilisiez ceci car cela vérifiera la présence unique et multiple d'espaces blancs (comme suggéré par Lucas Green).
$journalName = preg_replace('/\s+/', '_', $journalName);
au lieu de:
$journalName = str_replace(' ', '_', $journalName);
Essayez ceci à la place:
$journalName = preg_replace('/\s+/', '_', $journalName);
Explication: vous voyez probablement des espaces, pas seulement des espaces simples (il y a une différence).
Pour remplacer un caractère correspondant, utilisez str_replace:
$string = str_replace(' ', '_', $string);
Pour tous les caractères correspondants, utilisez preg_replace:
$string = preg_replace('/\s+/', '_', $string);
Essayez ceci à la place:
$journalName = str_replace(' ', '_', $journalName);
supprimer les espaces blancs