eregi_replace ersetzt alles ???

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

  • eregi_replace ersetzt alles ???

    Hallo,

    also ich habe jetzt mal ne ganze Weile gesucht, aber leider nirgends wirklich die Lösung für mein Problem gefungen.

    Ich habe mir einen eregi_replace Funktion versucht zusammenzubasteln, um URLs automatisch zu verlinken, aber irgendwie verlinkt das blöde ding jetzt alles....kann mir jemand vielleicht sagen wo der Fehler liegt ?

    Vielen Dank

    Hier mal der Code

    PHP-Code:
    $text $zeile[2];
    $Pattern "([url]http://[/url])?([^[:space:]]+)([[:alnum:]\.,-_?/&=])";
    $Replace "<a href=\"http://\\2\\3\" target=\"_new\">\\2\\3</a>";
    $url eregi_replace($Pattern$Replace$text);
    echo 
    $url?> 

  • #2
    probier das mal.

    PHP-Code:
    $text $zeile[2];
    $Pattern "(<a href=\"http:\/\/\" target=\"_blank\">http://</a>)\?([^[:space:]]+)([[:alnum:].,-_\\?/&=])";
    $Replace "<a href=\"http://\\2\\3\" target=\"_new\">\\2\\3</a>";
    $url eregi_replace($Pattern$Replace$text);
    echo 
    $url?> 
    du hasttest die sonderzeichen nicht escaped.
    Zuletzt geändert von Abraxax; 22.12.2002, 12:53.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      ich hoffe, dass die escapes nun richtig sind. hatte grad ein paar probleme beim posten. irgendwie hatte es noch ein paar backslashes entfernt.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Hi,

        erstmal vielen Dank für deine Hilfe.
        Leider funktioniert es nicht :-(

        Jetzt werden immer noch alle wörter als links angezeigt, aber die Wörter bestehen nur noch aus Vierecken ????

        Ich glaube vielmehr das mein Suchmuster zu ungenau ist ?
        Kann das sein ?
        Weil er erkennt eben nicht nur die Wörter die mit http: anfangen sondern eben alle Wörter als Links.

        Könnte das sein ?

        Kommentar


        • #5
          was genau hast du denn vor?
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Also, ich lese meinen Text aus der DB aus.

            Der steht dann in $text und bevor er dann auf der Seite durchsucht wird, soll er durchsucht werden, um festzustellen ob URL's wie z.b. www.php-resource.de oder http://www.php-resource.de vorhanden sind.
            Wenn ja, so sollen diese als Links dargestellt werden.

            Und mein Probem ist eben, das nicht nur die tatsächlichen Links dargestellt werden, sondern das eben jedes Wort bei der Ausgabe als Link dargestellt wird.

            Kommentar


            • #7
              So wie in meinen letzten Beitrag...ich habe ja nur www.php-resource.de geschrieben und es wird bei der Ausgabe automatisch als Link angezeigt :-)

              So würde ich das auch gerne bei meinem Skript haben.
              Aber ich glaube das Suchmuster stimmt nicht, weiß aber nicht wo der Haken ist :-(

              Kommentar


              • #8
                nichts einfacher als das...

                PHP-Code:

                    
                /* Hier wird aus einer [url]http://[/url] Adresse ein HTML Link gemacht */
                    
                $msg preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<A TARGET=\"_blank\" HREF=\"/redir.php?link=$1\">$1</A>"$msg); 
                $msg ist dann bei dir natürlich jeweils $text .....
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  hier noch einmal genau für dich. habe gesehen, dass da noch ne anpassung von mir drin war.

                  PHP-Code:
                  /* Hier wird aus einer [url]http://[/url] Adresse ein HTML Link gemacht */
                  $text preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i","<A TARGET=\"_blank\" HREF=\"$1\">$1</A>"$text); 
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Ich glaub ich bin zu doof für den "Reguläre-Ausdrücke-Krams"
                    Ich hab das jetzt mit deinem Text ersetzt, aber jetzt kommt folgender Fehler :-((

                    Warning: Unknown modifier '/' in /usr/local/httpd/htdocs/kunden/html/Admin/mitte3.php on line 41

                    Was habe ich jetzt schon wieder falsch gemacht ?

                    Kommentar


                    • #11
                      mal lieber als datei....
                      manchmal killt das forum ein paar zeichen.
                      Angehängte Dateien
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        Super jetzt hat es geklappt.
                        Vielen Dank !!!

                        Kommentar


                        • #13
                          tjaja. das forum wieder ...
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar

                          Lädt...
                          X