Thomas: m-modifier in Regulaerem Ausdruck

Hallo,

ich moechte jeweils ''text'' durch <i>text</i> ersetzen. Nun habe ich folgenden Code.

<?php
$text = "''Dies ist
kursiv''";

$text = preg_replace("/''(.*?)''/m","<i>$1</i>",$text);

echo $text;

?>

Mein Problem ist, dass obwohl ich den m-Modifier benutze, die Ersetzung auf Grund des Zeilenumbruchs nicht stattfindet. Ohne Zeilenumbruch funkioniert es.

Wo liegt das Problem?

Php ist version 4.4.3.

Danke,

Thomas

  1. Tach.

    Mein Problem ist, dass obwohl ich den m-Modifier benutze, die Ersetzung auf Grund des Zeilenumbruchs nicht stattfindet. Ohne Zeilenumbruch funkioniert es.

    Wo liegt das Problem?

    Deiner Beschreibung nach meinst du nicht multi- sondern single line, d. h. den Modifier /s.

    --
    Once is a mistake, twice is jazz.
    1. Hallo,

      beim selben Script ist mir noch ein weiteres Problem untergekommen, so werde ich das einfach hier unterbringen:

      <?php
      $text = "http://www.beispiel.de<br>";

      $text = preg_replace("/(http://[^|]*?)( )|(http://[^|]*?)(<)/i","<a href="$1">$1</a>$2",$text);

      echo $text;
      ?>

      Dies gibt <a href=""></a>br> aus, das heisst irgendwo gehen die eingeklammerten Variablen verloren. Wenn ich $3 und $4 benutze funktioniert die zweite Haelfte, da ich aber eine Alternative angegeben habe sollte doch eigentlich beides funktionieren, oder? Wenn ich jeweils die Verschiedenen Nummern benutzen muss, brauche ich aber eine if-Anweisung...

      Was ist hier die beste Loesung?

      Gruss,

      Thomas

      1. hi,

        $text = preg_replace("/(http://[^|]*?)( )|(http://[^|]*?)(<)/i","<a href="$1">$1</a>$2",$text);

        Dies gibt <a href=""></a>br> aus, das heisst irgendwo gehen die eingeklammerten Variablen verloren. Wenn ich $3 und $4 benutze funktioniert die zweite Haelfte, da ich aber eine Alternative angegeben habe sollte doch eigentlich beides funktionieren, oder?

        Vielleicht eher
        $text = preg_replace("/(http:\/\/[^|]*?)( |<.*>)/i","<a href=\"$1\">$1</a>$2",$text);

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }