regex Links ersetzen - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von H.Fehde (724 Beiträge) am Sonntag, 10.Oktober.2004, 20:01.
    regex Links ersetzen

      In diesem Forum werden die Links ja als URL angezeigt,
      z.B.:
      <a href="http://www.bei123.de" target="_blank">http://bei123.de</a>
      

      Nun möchte ich allerdings diese URL(die manchmal ganz schön lang sein kein) - also alles zwischen 'target="_blank">' und dem '</a>' grundsätzlich durch "...more Info" ersetzen.

      Ich dachte, so ähnlich:

      $regex="target=\"_blank\">(.*?)</a>";
      $replace="target=\"_blank\">...more Info</a>";
      $text =~ s#$regex#$replace#gi;
      

      Kriege es aber nicht hin - wer kann weiterhelfen - H.Fehde


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von H.Fehde (724 Beiträge) am Sonntag, 10.Oktober.2004, 20:01.
    regex Links ersetzen

      In diesem Forum werden die Links ja als URL angezeigt,
      z.B.:
      <a href="http://www.bei123.de" target="_blank">http://bei123.de</a>
      

      Nun möchte ich allerdings diese URL(die manchmal ganz schön lang sein kein) - also alles zwischen 'target="_blank">' und dem '</a>' grundsätzlich durch "...more Info" ersetzen.

      Ich dachte, so ähnlich:

      $regex="target=\"_blank\">(.*?)</a>";
      $replace="target=\"_blank\">...more Info</a>";
      $text =~ s#$regex#$replace#gi;
      

      Kriege es aber nicht hin - wer kann weiterhelfen - H.Fehde

     Antworten

    Beitrag von Rolf Schubert (21 Beiträge) am Sonntag, 10.Oktober.2004, 21:37.
    Re: regex Links ersetzen

      Also ich nutze bei mir folgendes:

      foreach $x (split "\n", $text)
         {
          $x=~s#\http:\/\/www.(\S+)#www.$1#gi;
          $x=~s#\www.(\S+)#<a href=\"http:\/\/www.$1\">www.$1\<\/a>#gi;
          out "$x";
          next;
         }
      


      Damit wird der Link Klickbar gemacht, wenn du den Link nicht ersetzen willst, dann ädere es in folgnder Weise.

      $x=~s#\www.(\S+)#<a href=\"http:\/\/www.$1\">more Info\<\/a>#gi;
      

      Das sollte klappen.

      Aber Sander und CB kennen da mit Sicherheit noch was besseres und kürzeres.

      Gruß Rolf

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 10.Oktober.2004, 23:14.
    Re: regex Links ersetzen

      was wird bei deiner variante ersetzt bzw. was kommt denn raus?

      ev. so:

      $regex="target=\"_blank\">[^<]+</a>";
      $replace="target=\"_blank\">...more Info</a>";
      $text =~ s#$regex#$replace#gi;
      

      aber eigentlich kann man das ja schon beim substitute von http://... in <a href...> mit einbauen

     Antworten


     
 Liste der Einträge von 27675 bis 27750:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.08s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!