Ashura: Suchen und Ersetzen am Ende eines Strings

Beitrag lesen

Hallo Dirk.

Ich möchte für eine Adressprüfung, die bisher auch wunderbar funktioniert, aus dem String der Straße folgendes herausfilternStra

straße|strasse|strase|Straße|Strasse|Strase|STRAßE|STRASSE|STRASE|Str.|STR.|str.|str|Str|STR

....und in jedem Fall mit "str." ersetzen.

Und wozu möchtest du „str.“ durch „str.“ ersetzen?

Soweit so gut, funktioniert schon mit preg_replace:

Völlig unnötig. Du kennst str_replace? Und um dir Arbeit zu ersparen gibt es sogar das nicht-case-sensitive str_ireplace.

Jetzt hatte ich aber ein Fall, da hat jemand "Industriestr" eingegeben und die Weiterleitung der Adressprüfung an die Deutsche Post hat nur deshalb nicht funktioniert weil daraus "Industr.iestr." wurde.

Wer hätte da einen Lösungsansatz?

Du müsstest in deinem regulären Ausdruck festlegen, dass die zu suchende Zeichenkette rechts eine Wortgrenze (\b) haben muss.

Einen schönen Dienstag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]