[Funktion] variable werte beim ersetzen übernehmen

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

  • [Funktion] variable werte beim ersetzen übernehmen

    Leider hab ich keinen plan nach was ich suchen sollte, deswegen frag ich halt mal.. auch auf die gefahr hin, dass es schonmal diskutiert wurde.

    Ich will mit preg_replace() einen Parser bauen, und jetzt steh ich vor einem Problem.

    Ich will die möglichkeit bieten, dass der benutzer bilder einfügen kann, und dazu ist folgender tag vorgesehen.
    [Bild 56x145 http://www.bilder.de/bild.png]
    wie schaff ich es jetzt dass ich den string durch folgeneden ersetzen kann, und dabei die werte 56 145 und http...... übernehmen kann.
    es solld ann so aussehen
    <img src="http://....." width="56" height="145">


    es müsste also irgendwie in der form sein:

    preg_replace("[bild (wildcard1)x(wildcard2) ,(wildcard3)" , "<img src=(wildcard3) width=(wildcard1) ......);

  • #2
    sowas steht hier in der tat zur genüge ..
    such mal nach bbcodes oder dergleichen (der code wäre halt entsprechend anders aufzubauen)

    aber warum soll der arme benutzer sich größe und breite des bildes raussuchen ? geht doch einfacher mit php:
    http://de.php.net/manual/de/ref.image.php
    mfg,
    [color=#0080c0]Coragon[/color]

    Kommentar


    • #3
      Danke für den tip.. ich denke das hier entspricht dem was ich suche.

      http://www.php-resource.de/forum/sho...hlight=bbcodes

      Aber selbst nach wälzen der manual-seiten, kann ich mir nicht ganz erklräöen was der zeichensalat in der anweisung GENAU zu bedeuten hat.. Wenn mir also jemand n bisschen näheres erklären könnte wäre mir sehr geholfen. Ich hab zwar das manual zu preg_match und preg_replace so wie die seite zu dem dazugehörigen Syntax gelesen.. aber bin imernoch verwirrd..

      Danke schonmal für eure mühe.

      Kommentar


      • #4
        Code:
        $text= "[Bild 56x145 [url]http://www.bilder.de/bild.png[/url]]";
        
        $text= preg_replace("/\[Bild\ (\d+)x(\d+)\ ([^\]]+)\]/", "<img src=\"\\3\" alt=\"nicht vergessen gell ;)\" width=\"\\1\" height=\"\\2\">", $text);
        Zuletzt geändert von colaboy; 10.07.2004, 20:17.

        Kommentar


        • #5
          Als aller erstes mal vielen vielen lieben dank..

          Also 1,2 und 3 sind die übergebennen variablen werte.. und das wird scheinbar durch das + ausgelöst oder ?..
          EDIT:
          durch die klammern nicht das plus


          das d steht für decimalzahl..

          Nur das hier bereitet mir noch kopfzerbrechen [^\]]

          Also wenn einer mir das noch erklären könnte wäre ich happy
          Zuletzt geändert von Dummschjwatzer; 11.07.2004, 12:51.

          Kommentar


          • #6
            Das bedeutet soviel wie es es darf alles vorkommen ausser die angegeben zeichen in diesem [^\]] fall ist es das zeichen ] das nicht vorkommen darf.

            Kommentar


            • #7
              das alles auszuführen ist umfangreich ..
              hast du folgendes tutorial schon gefunden bzw gelesen ?
              http://php-resource.de/tutorials/read/10/1/
              mfg,
              [color=#0080c0]Coragon[/color]

              Kommentar


              • #8
                Nein, den kante ich nochnicht.. aber der ist jetzt wenigstens halbwegs verständlich.. vielen danke.. Mal sehen ob ich damit weiter komm..

                Kommentar

                Lädt...
                X