Je travaille avec une fonction de limaces et je ne comprends pas tout à fait certains d'entre eux et cherchait un peu d'aide à expliquer.preg_replace vs garniture PHP
Ma première question concerne cette ligne dans ma fonction slug $string = preg_replace('# +#', '-', $string);
Maintenant je comprends que cela remplace tous les espaces par un '-'. Ce que je ne comprends pas est ce que le signe + est là pour qui vient après l'espace blanc entre le #.
Ce qui conduit à mon prochain problème. Je veux une fonction de compensation qui va se débarrasser des espaces, mais seulement les espaces après qu'ils entrent dans la valeur. Par exemple, quelqu'un a accidentellement entré "Arizona" avec deux espaces après le a et il a détruit les pages liées à l'Arizona. Donc, après toutes mes randonnées, je veux essentiellement comprendre comment je peux utiliser une garniture pour se débarrasser des espaces accidentels, mais toujours l'insertion preg_replace '-' entre les mots.
ex .. "Sun City West" = "soleil-ville-ouest"
Ceci est mon plein limace Fonction-
function getSlug($string){
if(isset($string) && $string <> ""){
$string = strtolower($string);
//var_dump($string); echo "<br>";
$string = preg_replace('#[^\w ]+#', '', $string);
//var_dump($string); echo "<br>";
$string = preg_replace('# +#', '-', $string);
}
return $string;
}
Merci pour l'explication! – user3436399
De rien :) Si ma réponse vous a aidé, n'hésitez pas à l'augmenter et/ou à l'accepter! –