• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

[PHP] preg_replace - Zeichen erkennen und trotzdem belassen

lowflyer7

Cripps Pink
Registriert
29.01.08
Beiträge
154
Hallo zusammen,

habe gerade folgendes Problem und mir fällt keine brauchbare Lösung ein. Ich habe eine Liste von Namen (mit Vor- und Nachnamen, separiert durch Komma). Leider sind diese durch Zeilenumbrüche teilweise mit Bindestrichen unterbrochen. Diese kann ich ganz leicht mit str_replace() löschen. Allerdings habe ich auch Doppelnamen dabei, die dann natürlich auch einen Bindestrich aufweisen. Bei diesen möchte ich nur den Zeilenumbruch löschen, nicht aber den Bindestrich. Wenn ich diese jetzt durch

$crewinfo[$crewcounter] = preg_replace("/-\n[A-Z]/","-",$crewinfo[$crewcounter]);

ersetzen will, verschwindet logischerweise der erste Buchstabe des zweiten Namens. Jemand eine Idee, wie ich das verhindern kann. Gibt es ne Möglichkeit der Funktion zu sagen, sie soll das letzte Zeichen des Ausdrucks beibehalten?

Danke!

Andy
 

joro

Braeburn
Registriert
12.06.10
Beiträge
45
Hallo,
wie wäre es mit
Code:
$crewinfo[$crewcounter] = preg_replace("/-\n/","-",$crewinfo[$crewcounter]);

Also einfach den Buchstaben Teil in der Regex weglassen. Falls das nicht mit anderen Daten kollidiert.

Liebe Grüße,
joro
 

lowflyer7

Cripps Pink
Registriert
29.01.08
Beiträge
154
Wow, ist das lange her. Ich dachte, es hätte niemand geantwortet, weil ich keine email-Benachrichtigung erhalten habe.

Danke für den Tip. Leider klappt das nicht ganz. Das funktioniert leider nur bei Doppelnamen. Z.B. "Schmidt-Müller" wird dann richtig umgesetzt, aber in "Mar-tin Becker" bleibt der Bindestrich, was nicht gewollt ist. Es hängt sich also leider an dem Buchstaben nach dem Bindestrich auf.

Hat noch jemand eine Idee?