Ankündigung

Einklappen
Keine Ankündigung bisher.

BBCode ausgabe...

Einklappen

Neue Werbung 2019

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

  • BBCode ausgabe...

    Code:
    $text = eregi_replace("\[URL=\"([^\"]*)\"\]([^\[]*)\[\/url\]","<a class=\"content\" href=\"\1\" target=_blank>\2</a>",$text); 
    
    $text = eregi_replace("\[URL=([^\"]*)\]([^\[]*)\[\/url\]","<a class=\"content\" href=\"\1\" target=_blank>\2</a>",$text);
    Bei nur 1 Link im Text funktioniert alles prima.

    Allerdings, sobald ein 2. Link hinzugefügt wird, steht an der Stelle des 1. Links der Namen des 2. und der Text zwischen dem 1. und 2. Link fehlt einfach.

    Kann mir wer weiterhelfen?

  • #2
    kP aber versuch mal preg_replace()

    Kommentar


    • #3
      Zitat von freq.9
      kP aber versuch mal preg_replace()
      Dann kommt folgender Fehler:

      Warning: Delimiter must not be alphanumeric or backslash

      Kommentar


      • #4
        hierzu gibt es ein tutorial in diesem forum
        ich mache das immer so:
        Code:
        $text=ereg_replace('(http://[[:graph:]]*\.[a-zA-Z]{2,4})', '\1', $text);
        so wird die url die man eingibt automatisch in einen hyperlink konvertiert und bei 2 linbks klappt das auchg da zwischen 2 links ja mind. 1 leerzeichen ist und [[:graph:]] ist die zeichenklasse für alle druckbaren zeichen (kein leerzeichen und keine control-zeichen)

        Kommentar


        • #5
          Zitat von burner.nst
          hierzu gibt es ein tutorial in diesem forum
          ich mache das immer so:
          Code:
          $text=ereg_replace('(http://[[:graph:]]*\.[a-zA-Z]{2,4})', '\1', $text);
          so wird die url die man eingibt automatisch in einen hyperlink konvertiert und bei 2 linbks klappt das auchg da zwischen 2 links ja mind. 1 leerzeichen ist und [[:graph:]] ist die zeichenklasse für alle druckbaren zeichen (kein leerzeichen und keine control-zeichen)
          So ginge es natürlich, aber ich würde halt gerne lange Links, z.b. auf Forumsbeiträge oder so mit einer Bezeichnung versehen.

          Also z.b.

          Beitrag X ist der Link der dann auf http://www.xxx.de/forum/?post=2 verlinkt ist.

          Kommentar


          • #6
            wie gesagt unter tutorials ist ein tutorial
            soll zu werden?
            dann mach es doch so:
            Code:
            ereg_replace('\[url=([[:graph:]])\]([[:graph:]])\[/url\]', '\2', $text)

            Kommentar


            • #7
              Zitat von burner.nst
              wie gesagt unter tutorials ist ein tutorial
              soll zu werden?
              dann mach es doch so:
              Code:
              ereg_replace('\[url=([[:graph:]])\]([[:graph:]])\[/url\]', '\2', $text)
              Wenn ich das mache, dann wird der Link einfach als BB ausgegeben:

              also als

              Kommentar


              • #8
                Re: BBCode ausgabe...

                Zitat von soucy
                [code]$text = eregi_replace("\[URL=\"([^\"]*)\"\]([^\[]*)\[\/url\]","<a class=\"content\" href=\"\1\" target=_blank>\2</a>",$text);

                Allerdings, sobald ein 2. Link hinzugefügt wird, steht an der Stelle des 1. Links der Namen des 2. und der Text zwischen dem 1. und 2. Link fehlt einfach.
                Ich nehme einfach mal an, dass ereg_replace "gierig" ist, d.h. soviel wie möglich ersetzen will.

                Bei preg_replace könntest du mit dem modifier U dafür sorgen, dass es klappt, ungetestet::
                Code:
                $text = preg_replace("#\[URL=\"([^\"]*)\"\]([^\[]*)\[\/url\]#U","<a class=\"content\" href=\"\1\" target=_blank>\2</a>",$text);
                [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

                Kommentar


                • #9
                  dannn mach mal hinter jedem [[:graph:]] noch ein *
                  das hatte ich vergessen

                  Kommentar

                  Lädt...
                  X