2016-12-05 3 views
0

ich Urls mit Streichern in ihnen haben, die wie folgt aussehen:Php eine beliebige Anzahl von einem bestimmten Zeichen ersetzen

search? Q = FAIRMONT + FREE + STANDING + SPACE + SPAR + CABINET + IN + ESPRESSO ++++++++++++++++++++++++++++++++++++++++++++++ &

Ich habe versucht, die zusätzlichen Plus-Symbole zu ersetzen, aber es ist immer eine andere Anzahl von ihnen.

$ss = str_replace('+++++++', '+', $row[0]); 

Ich nehme an, ich brauche eine Regex zu tun „eine beliebige Anzahl von Pluszeichen“ auf dem ersten Parameter hier passen, aber ich bin nicht sicher, wie das syntaktisch zu tun, oder wenn das noch getan werden kann, in str_replace?

Irgendwelche Hilfe geschätzt?

bearbeiten - das ist nicht eine „exakte Kopie“, wie es markiert wurde - es hat eine spezielle Frage zu fragt, wie mehrere Zeichen in PHP zu ersetzen. Während ein Weg, um dies zu tun ist Regex mit preg_replace, ich nehme an, es kann auch andere Methoden. Die Frage bezieht sich nicht nur auf Regex, wenn man bedenkt, dass es andere Lösungen geben könnte.

+1

https://regex101.com/ ist ein fantastischer Ort zu lernen und Test regex Code verwenden. – zipzit

+0

Nach, dass diese Seite, \ + {2} werden die Pluspunkte entsprechen. Aber kann ich das innerhalb von str_replace verwenden? – some1

+1

versuchen [preg_replace] (http://php.net/manual/en/function.preg-replace.php) – bansi

Antwort

0

Dies scheint zu funktionieren, müssen Sie preg_replace()

$ss = preg_replace('~\+{2,}~', '+', $ss); 
Verwandte Themen