2010-09-21 15 views

Odpowiedz

16

Nie ma potrzeby regex tutaj i można korzystać rtrim dla niego, jego czystsze i szybsze:

$str = rtrim($str); 

Ale jeśli chcesz rozwiązanie oparte regex można użyć:

$str = preg_replace('/\s*$/','',$str); 

regex stosowany jest /\s*$/

  • \s jest krótki dla każdej białej przestrzeni char, która obejmuje przestrzeń.
  • * jest kwantyfikator zerowej lub więcej
  • $ jest kotwica koniec

Zasadniczo możemy zastąpić końcowe białe znaki znaki z niczego (''), skutecznie usuwając je.

+0

Zamiast kwantyfikatora '*' można użyć kwantyfikatora '+ ', aby uniknąć zastąpienia niczego po nic. – Toto

+0

dziękuję bardzo !!! informacje o postaci są bardzo doceniane – Zebra

+0

@ M42, dziękuję! – Zebra

9

Tak naprawdę nie potrzebują regex tutaj, można użyć funkcji rtrim().

$string = "some random text with extra spaces at the end  "; 
$string = rtrim($string); 

Code on ideone


Patrz także:

+0

Downvoter, żadnego powodu? –

+0

Heh, ja też chciałbym wiedzieć +1, żeby wszystko naprawić z wszechświatem. – Gazler

+0

+1, ponieważ ta odpowiedź jest może mniej fascynująca, ale właściwa! – Gombo

1

Można użyć trim(), aby to zrobić:

http://php.net/manual/en/function.trim.php

+0

Przepraszam ... brakowało "NA KOŃCU". Jak wspomnieli inni ... rtrim() – Don

+0

możesz edytować swoją odpowiedź. – LarsH

+0

@LarsH, Nie chcę edytować go tak, aby był taki sam jak inny, w przypadku gdy opcja trim() może działać dla przyszłych wyszukiwarek, ale punkt jest brany ... thx – Don

Powiązane problemy