Anzeige:
Ergebnis 1 bis 5 von 5

Thema: regexp Perl

  1. #1
    Registrierter Benutzer
    Registriert seit
    22.05.2002
    Beiträge
    43

    Question regexp Perl

    Hi,

    ich übergebe in einem Formular den Inhalt eines Textfeldes an eine Routine, die das ganze in eine mysql DB einträgt. Vor dem Eintragen ersetze ich \n durch <br>. Das klappt soweit auch gut, nur verstehe ich nicht, was ich für eine syntax schreiben muss, um z.B. ein :-) in ein <img src="http://hjkdhkjshfk.gif"> umzuwandeln.

    $texta =~ s/:-)/<img src="http:\/\/hjkdhkjshfk.gif">/g;

    scheint ziemlich dumm von mir gedacht zu sein und führt zu einer Fehlermeldung.

    Hat jemand eine erklärende Lösung für mich?

    Danke und Gruß
    otelo

  2. #2
    Registrierter Benutzer
    Registriert seit
    05.09.2002
    Ort
    Neuhausen
    Beiträge
    320
    Klammer in Smilie :-) escapen:
    Code:
    s/:-[)]/<img ...>/g
    oder
    Code:
    s/:-\)/<img ...>/g
    Gruss, Andy

  3. #3
    Registrierter Benutzer
    Registriert seit
    22.05.2002
    Beiträge
    43
    Vielen Dank Rapid, so hat es funktioniert. Gibt es irgendwo eine online Doku, in der ich mehr über die Regexp erfahren kann?

    Gruß
    otelo

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Naja, dass man die ) escapen muss ist jetzt gerade ein Unterschied z.B. zwischen Sed-Regexps und Perl-Regexps.
    Bei Sed darfst du das dann so nicht, weil ein \( \) jeweils zur Gruppierung verwendet wird.

    Regexps sind zwar generell gleich - aber es hat jeweils recht viele subtile Unterschiede in Sachen unterstützter Funktionalität und Escapen von Sachen.

    Guck mal in folgende Online-Doku: http://www.grymoire.com/Unix/index.html der Regular Expressions - Teil dürfte dir evtl. etwas weiterhelfen, auch wenn die Ausrichtung nicht Perl-Regexps ist (am Ende wird aber auf die hingewiesen) sondern Unix-Regexps.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    22.05.2002
    Beiträge
    43
    Danke peschmae, ich hab reingeschaut, aber irgendwie kapier ich es nicht.

    ich habe jetzt folgendes Problem:
    Ich übergebe einer Variable ($file) einen Pfad zu einer Datei z.B.

    "X:\Test\abc\bild.jpg"

    Wenn ich jetzt nur den Namen des Files (für den Fall das es ein jpg ist) haben will müsste ich doch folgendes schreiben

    if ($file =~ /\*.jpg/i) { $a=1; $filename=$1; }
    else { $a=0; }

    Aber so scheint es nicht zu funktionieren. Was ist falsch? Der Suchkram, die Annahme dass er das Ergebnis in $1 schreibt oder beides?

    Gruß
    otelo

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •