Manuel: string bearbeiten

hi,
ich habe ein formular beim dem man statt eines richtigen links, also <a href....>, einfach nur *link|www.dmoain.de* schreiben kann. dieser text ist unter anderem in der variable $text gespeichert. wie kann ich jetzt die addresse auslesen und dann mit "<a href="www.domain.de">www.domain.de</a> ersetzen? wenn es geht könnt ihr mir ein beispiel schreiben?

mfg manuel

  1. Hi Manuel,

    schau mal hier:
    http://www.php.net/manual/de/function.preg-replace.php
    da gibts auch eine Menge Beispiele.

    Gruss
    annA

    1. Danke ich bin fündig geworden.
      mfg Manuel

      1. aber es gibt doch noch ein problem. ich benutze folgenden code zum ersetzen von mail adresse:
        $text = preg_replace("/(([\w.]+))(@)([\w.]+)\b/i","<a href="mailto:$0">$0</a>",$text);
        nur wenn die email zum beispiel muster@t-online.de lautet, macht er nur muster@t zur einem link.
        was kann ich ändern, mit solchen funktionen kenne ich mich nur garnicht aus.
        mfg Manuel

        1. Hi Manuel,

          sind die eMail-Adresse irgendwie eingekapselt, so wie
          das bei den URLs auch ist??
          z.B.: *mail:test@test.de*

          Ansonsten wird es schwierig...

          was genau willst Du denn machen?

          Gruss
          annA

    2. vielleicht hilft dir ja dies weiter:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

      <html>
      <head>
       <title>Untitled</title>
      </head>

      <body>

      <?php

      $text = "dies ist ein text der auf eine seite *link|www.domain.de* verweisen soll";

      if (ereg("(.*\)(.*)(\.*)", $text, $regs)) :
       $part  = @explode("|",$regs[2]);

      $whatisit =  ($part[0] == "link") ? "http://" : "mailto:";
       echo "<a href="".$whatisit.$part[1]."">".$part[1]."</a>";

      endif;
      ?>

      </body>
      </html>