2017-05-27 8 views
0

Ich würde gerne alle Leerzeichen in einem beliebigen ersten Zeichen (außer Leerzeichen, könnte eine Zahl oder ein alphabetisches Zeichen sein) und nach jedem letzten Zeichen trimmen. Mit /([A-Z ])\w+/ tat eigentlich gut, aber meine $output nicht. Was muss ich tun, um "Irgendein Wort" am Ende zu bekommen? Und das sollte für eine beliebige Anzahl von Wörtern funktionieren, nicht nur für zwei innerhalb der Räume.Entfernen Sie Leerzeichen vor jedem ersten Zeichen und nach jedem letzten Zeichen

$text = '     Any Word    '; 

preg_match_all('/([A-Z ])\w+/', $text, $output); 

var_dump($output); 

Vielen Dank für Ihre Hilfe!

+1

funktioniert 'trim' nicht, was Sie wollen? – RamRaider

+0

Ich weiß nicht, warum Sie [meine Antwort] nicht sehen (https://stackoverflow.com/a/44213778/6521116). Meine kommen zuerst mit Demo und gleich mit dem akzeptierten. Warum? –

Antwort

1

können Sie trim Funktion verwenden, die jeden Raum von Anfang und Ende der Zeichenfolge zu entfernen:

$text = '     Any Word    '; 

$output = trim($text); 

var_dump($output); 
+0

Hahaa, oh mein Gott. Ja, sehr gute Lösung. Sorry und danke! – vloryan

+0

Gern geschehen. Wenn es funktioniert, bitte akzeptieren Sie diese Antwort. –

0

was ist trim(), sollte es für Sie arbeiten. Überprüfen Sie die live demo.

0

Wenn Sie wirklich eine Regex hier verwenden möchten, können Sie versuchen, mit dem Pattern-Matching \s+(.*)\s+:

$string = '     Any Word    '; 
preg_match('/\\s+(.*)\s+/', $string, $m); 
echo $m[1]; 

Ausgang:

Any Word 

Sie können jedoch auch trim() verwenden.

Demo

+0

Danke, ja. Habe 'trim() 'total vergessen. – vloryan

Verwandte Themen