RegEx und MySQL?! Unterschiede??

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RegEx und MySQL?! Unterschiede??

    Hi,

    ich hatte ja in http://www.php-resource.de/forum/pro...tml#post646974 schon nach einem RegEx gesucht, leider aber keine Antwort bekommen.

    Nun habe ich es aber alleine geschafft, einen RegEx für meine Bedürfnisse zu schreiben:

    PHP-Code:
            $suchmuster '/<a  href=\"cms\/(.*)\" rel=\"lightbox\[col\]\"\><img border=\"0\" alt=\"Anklicken für Zoom\" src=\"cms_thumbnail.php\?url=cms\/(.*)\&w=500\&h=(.*)\" width=\"(.*)\" height=\"(.*)\"\/\>\<\/a\>/i';
            
    $ersetzung '[IMG]http://www.MyPage.de/cms/\1[/IMG]';
            echo 
    preg_replace($suchmuster$ersetzung,  $story); 

    Wenn ich nun $story aus einer Datei lade mit

    PHP-Code:
    $strfile_get_contents("demo.dat"); 
    funktioniert der RegEx so, wie ich es erwarte.
    Wenn ich jedoch $story per MySQL aus der DB lade (TEXT Feld) dann wird nichts ersetzt!!

    Woran kann das liegen?

    Gruß
    Jens
    http://www.NoteStore.de
    http://www.diaet-community.de
    http://www.jensn.de
    http://www.KinderFlohmarkt.de

  • #2
    Mach Debug-Ausgaben der beiden Ausgangswerte und vergleiche sie.

    Kommentar


    • #3
      Das habe ich schon gemacht.
      Gibt es eine PHP Funktion einen String hexadecimal anzuzeigen? ich denke, es liegt irgendwo an "nicht sichtbaren" Zeichen.

      Jens
      http://www.NoteStore.de
      http://www.diaet-community.de
      http://www.jensn.de
      http://www.KinderFlohmarkt.de

      Kommentar


      • #4
        var_dump() und rawurlencode() sollten weiterhelfen.

        Kommentar


        • #5
          Hallo,

          HTML-Code kann Zeilenumbrüche enthalten, die von deinem Regex nicht gematcht werden. \s matcht beliebigen Whitespace und der Modifikator s ändert das Verhalten des Dot-Platzhalters (.), so dass dieser auch Umbrüche erfasst.

          Edit: Beim ersten <a href hast du zwei Leerzeichen dazwischen, was ja nicht unbedingt zutreffen muss. Wenn du sicher gehen willst, ersetze jedes Leerzeichen im Pattern durch \s+. Außerdem solltest du ungierig matchen, also mit dem Modifikator U.

          Gruß,

          Amica
          Zuletzt geändert von AmicaNoctis; 26.10.2010, 12:47.
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar

          Lädt...
          X