preg_replace

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

  • preg_replace

    Hallo liebe Leute, ich habe da ein scheinbar unlösbares Problem:

    Habe eine Seite mit mehreren Links, die Links unterscheiden sich in der Form, dass der target unterschiedlich ist und dass das href mit einem / oder http:// beginnt.

    Nun habe ich mir ein kleines Script geschrieben, welches die Seite einliest und alle Links mit target="_self" href="/.* die Endung z.B. .php durch den Wert .php?value=test ersetzt und diese in die Datei schreibt. Dieses klappt nicht ganz. Erstes ändert es alle Links und zweites wenn ich das Script ein zweites Mal aufrufe habe ich als ergebnis .php?view=test?view=?test.

    Wer kann mir helfen?

    Hier das Script:
    PHP-Code:
    function artikelSearch($var){

     
    $var preg_replace('/(<a )(target=\"_self\" )(title=\".+?\"
     )(href=\"\/.+?)(\.php\")/s'
    '\1\2\3\4.php?view=test"',$var);

     return 
    $var;

    Schon jetzt meinen Dank, allen.
    Zuletzt geändert von kaffeeOdertee; 05.05.2006, 08:33.

  • #2
    bitte
    http://www.php-resource.de/forum/sho...threadid=50454
    danke

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Hm

      hallo ghostgambler,
      leider verstehe ich Deine Botschaft nicht.
      hatte eigentlich auf hilfe gehofft.

      Gruß kaffeeOderTee

      Kommentar


      • #4
        Re: Hm

        Kannst du nicht lesen ?

        Bitte beachtet beim Posten von Quelltext ein paar Regeln um es anderen Usern leichter zu machen euch zu helfen. Sollten diese Regeln ignoriert werden, wundert euch bitte nicht, wenn ihr keine Antwort, oder lediglich einen Link auf diesen Thread bekommt. Sollte letzteres der Fall sein, habt ihr über die -Funktion des Forums die Möglichkeit eure Fehler auszubessern.

        Kommentar


        • #5
          so besser

          ist es so nun ok? hast du vielleicht eine antwort auf meine frage?

          Gruß kaffeeOdertee

          P.S. kann lesen

          Kommentar


          • #6
            Re: so besser

            zb. so
            PHP-Code:
            $link '<a href="script.php" target="_self" title="Nur ein Script">Hier der Link</a>';

            function 
            moep($url,$var)
            {
              if(
            preg_match_all('/target="_self"/iU',$url,$match,PREG_SET_ORDER))
              {
                return 
            preg_replace('/<a href="(.+?)\.php" target="_self" title="(.+?)">(.*?)<\\/a>/i',
                                    
            '<a href="\\1.php?bla='.$var.'" target="_self" title="\\2">\\3</a>',
                                    
            $url);
              }
            }

            echo 
            moep($link,'blub'); 
            es muss ja erstmal eine prüfung statt finden ob der Link _self beinhaltet oder nicht, erst dann kannst du den entsprechenden Link bearbeiten.


            EDIT: Die ersetzungen sind jeweils \\1, \\2 und \\3 (irgendwie lässt er hier immer einen \ weg im formatierten PHP-Code)

            Sers
            Der Boris
            Zuletzt geändert von boris-schneider; 05.05.2006, 10:06.

            Kommentar

            Lädt...
            X