Question

J'insère le champ Alias ??de ma base de données appelé $ alias comment je code (j'utilise php pour mysql insert) pour supprimer tous les espaces et remplacer l'espace par "&"; (en essayant de le changer en "format Weburl", c'est-à-dire en supprimant des espaces)

Merci

Était-ce utile?

La solution

Voici la méthode que j'utilise pour diviser les chaînes en URL SEF:

    $slug = trim(strtolower($value));
    $slug = preg_replace('/[^a-z0-9 _-]/', '', $slug);
    return preg_replace('/\s+/', '-', $slug);

N'hésitez pas à ajouter d'autres caractères autorisés à la première expression régulière.

Veuillez noter qu'il ne s'agit PAS d'unicode ni même d'un coffre-fort complet ISO-8891, mais il supprimera tout ce qui n'est pas a-z . En d’autres termes, vous devrez peut-être normaliser la chaîne au préalable (c’est-à-dire remplacer les caractères accentués par leur équivalent ASCII fermé). le moment. Je vais les éditer ici si je tombe par hasard sur un.

Autres conseils

Pour supprimer uniquement les espaces, vous souhaitez utiliser la méthode str_replace . Cependant, lorsque vous travaillez avec des URL, vous pouvez envisager le urlencode . et des méthodes rawurlencode .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top