web-dev-qa-db-fra.com

Supprimer les espaces du début et de la fin d'une chaîne

Je suis assez nouveau dans les expressions régulières. J'ai besoin de nettoyer une chaîne de recherche des espaces au début et à la fin. Exemple: "chaîne de recherche" Résultat: "chaîne de recherche"

J'ai un modèle qui fonctionne comme une solution javascript mais je ne peux pas le faire fonctionner sur PHP en utilisant preg_replace:

Patern Javascript qui fonctionne:

/^[\s]*(.*?)[\s]*$/ig

Mon exemple:

$string = preg_replace( '/^[\s]*(.*?)[\s]*$/si', '', " search string " );
print $string; //returns nothing

À l'analyse, il me dit que g n'est pas reconnu, j'ai donc dû le supprimer et changer l'ig en si.

22
Alex

S'il ne s'agit que d'espaces blancs, pourquoi ne pas simplement utiliser trim() ?

63
animuson

Oui, vous devriez utiliser trim () je suppose .. Mais si vous voulez vraiment ce regex, le voici:

((?=^)(\s*))|((\s*)(?>$))
5
Gaute Løken