+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Anführungszeichen " " austauschen gegen korrekte - regex?

  1. #1
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420

    Anführungszeichen " " austauschen gegen korrekte - regex?

    Wie müsste man einen regex erstellen, der in einem Text alle falschen Anführungszeichen (sprich: Das ist ein "Test" wie im Buche) gegen korrekte austauscht (Das ist ein „Test“ wie im Buche)?

    Geht das auch in „einem Rutsch“, oder braucht man zwei dazu (erst das erste, dann das zweite austauschen)?
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  2. #2
    Guest Strogij hilft, wo's geht Strogij hilft, wo's geht
    Registriert seit
    Aug 2002
    Beiträge
    2.233
    PHP-Code:
    echo preg_replace('/"(.*)"/''„\\1“'"\"Hallo das ist ein Text\""); 

  3. #3
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Nun, das klappt leider nur in einem einzigen Fall - aber nicht mehr, wenn in einem Text (nicht nur in einem Satz) mehrere Anführungszeichen kommen.

    Beispiel:

    PHP-Code:
    <?php
    $text
    ='Das ist "ein Test". Wie er "im Buche" steht ... ';
    $text2='Jetzt werden wir gemein: ""Test" ... und "Test"" ... hehe';
    echo 
    $text."<br>".$text2."<br><br>";
    echo 
    preg_replace('/"(.*)"/''„\\1“'$text); 
    echo 
    '<br>';
    echo 
    preg_replace('/"(.*)"/''„\\1“'$text2); 
    ?>
    Bei $text werden nur die Anführungszeichen von ein Test ausgetauscht, nicht aber vom im Buche ...

    $text2 ist fies, aber egal. Wollte nur sehen, was passiert
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  4. #4
    Guest Strogij hilft, wo's geht Strogij hilft, wo's geht
    Registriert seit
    Aug 2002
    Beiträge
    2.233
    PHP-Code:
    echo preg_replace('/"([^"]+)"/''„\\1“''Das ist "ein Test". Wie er "im Buche" steht ... Jetzt werden wir gemein: ""Test" ... und "Test"" ... hehe'); 
    Ausgabe:
    Das ist „ein Test“. Wie er „im Buche“ steht ... Jetzt werden wir gemein: "„Test“ ... und „Test“" ... hehe
    So?
    Geändert von Strogij (29.05.2004 um 15:51 Uhr)

  5. #5
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Danke, das war genau das, was ich braucht! :-)
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  6. #6
    TP-Supporter GodfatherDeluxe macht sich hier sehr viel Mühe
    Registriert seit
    Sep 2003
    Ort
    Wien, Österreich
    Beiträge
    381
    ganz simpel wäre htmlentities() - ersetzt alle zeichen wie "ß,ä,ö,ü" etc durch die HTML-entsprechungen
    Java != JavaScript

    "He who makes a beast of himself gets rid of the pain of being a man."
    Dr. Johnson

  7. #7
    Guest Strogij hilft, wo's geht Strogij hilft, wo's geht
    Registriert seit
    Aug 2002
    Beiträge
    2.233
    Ich glaube kaum, daß er es dafür gebraucht hat.

+ Antworten

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.03.2004, 15:24
  2. Antworten: 3
    Letzter Beitrag: 01.03.2004, 18:53
  3. Die Anführungszeichen werden zum Verhängnis
    Von dieter99 im Forum Traum-Dynamik
    Antworten: 6
    Letzter Beitrag: 30.12.2003, 15:34
  4. Antworten: 0
    Letzter Beitrag: 10.11.2003, 21:36
  5. Probleme mit Anführungszeichen
    Von dieter99 im Forum Traum-Dynamik
    Antworten: 17
    Letzter Beitrag: 07.02.2003, 16:34

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51