Re: QPerl-regexp-Profis - 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 olaf (59 Beiträge) am Freitag, 23.Januar.2004, 18:52.
    Re: QPerl-regexp-Profis

      hi claus,

      dann so:

      $l1=~s/(a href=")[^&"]+/$1$_l/;
      

      gruß

      olaf


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Claus Christmeier (598 Beiträge) am Freitag, 23.Januar.2004, 16:23.
    QPerl-regexp-Profis

      Hallo zusammen,

      habe in einer Datenbank Sätze mit einem LINK-Feld. Darin steht aber NUR die html-Seite bzw. der Template-Name.

      Bei zusammenstellen der Ausgabeseite im Template möchte ich dann die jeweils entsprechende Domain einsetzten.

      Folgenden Code verwende ich momentan:

      $_l = "http://www.domain.de";
      

      #$l = $l1 = "a href=\"template&q=1&w=2\" target='mitte' onclick='javascript:alert(\"Test\")'>";
      #$l = $l1 = "a href=\"template\" target='mitte' onclick='javascript:alert(\"Test\")'>";
      #####  beide Möglichkeiten können vorkommen!!!
      

      $l =~ s/\"/\'/g;
      $l =~ s/\<//g;
      $l =~ s/\>//g;
      $l =~ /href\=\'/;
      

      $l2 = ((index($', "'") + 1) eq length($') && (index($', "&") ne -1)) ? "&" : "'";
      $' =~ /$l2/;
      $l2 = $`;
      

      $l1 =~ s/$l2/$_l\/$l2/;

      Und jetzt die Frage, geht es evtl. kürzer/einfacher?

      Danke für Euere Bemühungen.

      Gruß
      Claus

     Antworten

    Beitrag von olaf (59 Beiträge) am Freitag, 23.Januar.2004, 17:42.
    Re: QPerl-regexp-Profis

      moin claus,

      ich weiss nicht ob ich deine frage richtig verstanden habe. du möchtest also hier drin
      #$l = $l1 = "a href=\"template&q=1&w=2\" target='mitte' onclick='javascript:alert(\"Test\")'>";
      #$l = $l1 = "a href=\"template\" target='mitte' onclick='javascript:alert(\"Test\")'>";
      

      das was template ist durch $_l ersetzen?

      wenn dem so ist, dann geht das z.b. so:

      $l1=~s/"template(&|")/"$_l$1/;
      

      wenn du ganz sicher weisst, das die zeichenfolge template nur einmal und nicht auch noch an anderer stelle vorkommt, dann reicht auch:
      $l1=~s/template/$_l/;
      

      ich hoffe ich hab dein prob richtig verstanden.

      gruss
      olaf

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Freitag, 23.Januar.2004, 17:56.
    Re: QPerl-regexp-Profis

      Hallo Olaf,

      vielen Dank für Deinen Beitrag, aber leider steht nicht immer nur 'template' drin es könnte auch 'olaf' oder 'claus' drinstehen ;-).

      Gruß
      Claus

     Antworten

    Beitrag von olaf (59 Beiträge) am Freitag, 23.Januar.2004, 18:52.
    Re: QPerl-regexp-Profis

      hi claus,

      dann so:

      $l1=~s/(a href=")[^&"]+/$1$_l/;
      

      gruß

      olaf

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Samstag, 24.Januar.2004, 18:51.
    Re: QPerl-regexp-Profis

      Hallo Olaf,

      danke für Deine Mühe es klappt sehr gut, bis auf die Tatsache, dass das was zwischen -href="- und -&- oder -"- steht weg ist :-(

      Gruß
      Claus

     Antworten

    Beitrag von olaf (59 Beiträge) am Samstag, 24.Januar.2004, 19:01.
    Re: QPerl-regexp-Profis

      hi claus,

      du musst natürlich $_l vorher irgendwas zuweisen.

      z.b.:
      $_l="http://www.kleclan.de";
      

      $l1 = "a href=\"die kle-clan page\" target='mitte' onclick='javascript:alert(\"Test\")'>";

      $l1=~s/(a href=")[^&"]+/$1$_l/;
      

      dann sollte das klappen. hab das zumindestens bei mir unter windows mit active perl 5.6.1 getestet. hoffe das ist in soweit mit baseportal-perl konform.

      gruss
      olaf

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Samstag, 24.Januar.2004, 20:39.
    Re: QPerl-regexp-Profis

      Hallo Olaf,

      klappt leider nicht. :-((

      Folgender Code ergibt:

      $_l="http://www.kleclan.de";
      

      $l1 = "a href=\"index.html\" target='mitte' onclick='javascript:alert(\"Test\")'>";
       
      $l1=~s/(a href=")[^&"]+/$1$_l/;
      



      "a href=\"http://www.kleclan.de\" target='mitte' onclick='javascript:alert(\"Test\")'>"


      -index.html- fehlt leider :-((

      Gruß
      Claus

     Antworten

    Beitrag von olaf (59 Beiträge) am Sonntag, 25.Januar.2004, 05:06.
    Re: QPerl-regexp-Profis

      hi claus,

      anscheind verstehe ich nicht, was du genau möchtest. soll das index.html erhalten bleiben? soll daraus http://www.kleclan.de/index.html werden?

      dann sag ich das mal so. setze das [^&"]+ in klammern und baue es mittels $2 dort ein wo du es brauchst. also zum beispiel:

      $_l="http://www.kleclan.de";
      

      $l1 = "a href=\"index.html\" target='mitte' onclick='javascript:alert(\"Test\")'>";

      $l1=~s/(a href=")([^&"]+)/$1$_l\/$2/;
      

      dann wird aus $l1:

      "a href=\"http://www.kleclan.de/index.html\" target='mitte' onclick='javascript:alert(\"Test\")'>"

      gruss
      olaf

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Sonntag, 25.Januar.2004, 11:57.
    Re: QPerl-regexp-Profis

      Hallo Olaf,

      super, jetzt tut´s, was es soll.

      VIELEN Dank und noch einen schönen Sonntag.

      Gruß aus Nürnberg
      Claus

     Antworten


     
 Liste der Einträge von 32400 bis 32550: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.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!