Eigene Tags

  • PHP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Eigene Tags

    Ich will "eigene Tags" in HTML-Code konvertieren. Also genau wie es hier im Forum mit dem BBCode funktioniert.
    Leider weiß ich nicht, mit welchem Befehl ich es bewerkstellige, dass ein String (z.B. {url=http://www.url.com}Linkname{/url}) in seine Bestandteile zerlegt wird und der Teil nach dem istgleich-Zeichen (also die URL selbst) angesprochen werden kann. Dieser String soll dann eben letztendlich in diesen umgewandelt werden: <a href="http://www.url.com">Linkname</a>

    Ich hoffe, ich hab mich verständlich ausgedrückt ;)

    Kann mir jemand erklären, mit welchem Befehl ich das bewerkstellige?
  • Mit den Befehlen strpos(), strstr() und substr() hab ich es realisiert.... kommt mir aber etwas umständlich vor :)

    Schätze das gibt es leichte Methoden...

    PHP-Quellcode

    1. <?php
    2. $text = "salkfjasfkljlksd sfkjaddsa-jfsd köjdsföjs kö mklöajfökld klas adjfadsfda asad a[URL]sfk fsadf [url=http://www.url.daascom]Linkname1[/url] safdasfsfds";
    3. echo $text;
    4. echo "<br><br>";
    5. $teil = strstr($text, '[url=');
    6. $ende = strpos($teil, '[/url]")+6;
    7. $komplett = substr($teil, 0, $ende);
    8. echo $teil;
    9. echo "<br><br>";
    10. echo $komplett;
    11. $url1 = substr($komplett, 5);
    12. $endeurl = strpos($url1, "]");
    13. $url2 = substr($url1, 0, $endeurl);
    14. $endeurl1 = strpos($url1, "]")+1;
    15. $endurl = substr($url1, $endeurl1);
    16. $endem = strpos($endurl, "[/url]");
    17. $linkname = substr($endurl, 0, $endem);
    18. echo "<br><br><hr>";
    19. echo $url1;
    20. echo "<br><br>";
    21. echo $url2;
    22. echo "<br><br>";
    23. echo $endurl;
    24. echo "<br><br>";
    25. echo $linkname;
    26. ?>
    Alles anzeigen


    Gruß
    $Newbie$
  • Danke erstmal für den Vorschlag!

    Aber wie du schon erwähnt hast: Das sieht wirklich ein wenig umständlich aus...

    Vielleicht hat ja noch jemand einen Vorschlag für eine elegantere Lösung?
  • Wie wäre es mit str_replace?
    Beispiel:

    PHP-Quellcode

    1. <?php
    2. $test="Hallo du kleiner {url=http://www.stinker.de}Stinker{/url}";
    3. echo $test."<br>";
    4. $test=str_replace("{url=","<a href=\"",$test);
    5. $test=str_replace("{/url}","</a>",$test);
    6. $test=str_replace("}","\">",$test); //Da du keine weiteren } mehr in $test hast werden dann die übrigen umgewandelt ;)
    7. echo $test."<br>";
    8. ?>

    Müsste so eigentlich klappen ;)
    !!Nur bei texten, wo kein } enthalten ist Sprich, du könntest ein zeichen nehmen, welches nicht in einem text vorkommt, wie zum Beispiel das Yen-Zeichen oder so...

    Aber, wenn du die Idee von Newbe etwas eleganter umsetzt, sieht das nicht mehr sooo komich aus ^^"
  • Danke BloodVortex!
    Das Ganze funktioniert jetzt soweit für fast alle Tags, nur bei einem brauch ich noch eine kleine Ergänzung.
    Und zwar handelt es sich um einen Tag der folgendermaßen ausschaut: {tag=Variable}Text{/tag}
    Und den Abschnitt in dem "Variable" steht, möchte ich quasi herausnehmen, da ich ihn noch zur Weiterverarbeitung brauche. Wie mache ich das am besten?
  • So habe das mal gelöst^^"
    Aber nur, wenn das nur einmal drin ist ;)

    PHP-Quellcode

    1. <?php
    2. $text="huadhsoihasdoiuhfiofh{url=http://www.lustig.com}dahd{/url}isjdoaijsdi";
    3. $var2=array();
    4. $var2=spliti("{url=",$text);
    5. $var2=spliti("[}]",$var2[1]);
    6. $var = $var2[0];
    7. ?>

    Hier wird erst $text in dem text bis zum "{url=" ($var2[0] in Zeile 4) und dann der Rest des Textes geteilt. Danach wird es in das Ergebnis und dem Rest Text gesplittet.
    So ist das ergebnis in var2[0] in Zeile 5 zu finden ;)

    P.S.
    Wenn du es für mehrere brauchst, dann sag beschid. Das wird aber dann etwas länger^^"
  • Du wolltest ja nur ne Hilfe wie du es bewerkstelligst :)

    Nun hast du nen paar Beispiele, hast die Funktionen von PHP die man nutzen kann und kannst es schließlich so umbauen, dass es dir in Code reinpasst :)

    Gruß
    $Newbie$
  • $Newbie$ schrieb:

    Du wolltest ja nur ne Hilfe wie du es bewerkstelligst :)

    Nun hast du nen paar Beispiele, hast die Funktionen von PHP die man nutzen kann und kannst es schließlich so umbauen, dass es dir in Code reinpasst :)

    Gruß
    $Newbie$

    Ja, aber ich hab auch nix dagegen, wenn ihr mir gleich den ganzen Code liefert ;)

    Danke für das Beispiel! Ich denke, ich kann das für meine Bedürfnisse umbauen. Wenn nicht, meld ich mich nochmal...
  • ifko schrieb:


    Danke für das Beispiel! Ich denke, ich kann das für meine Bedürfnisse umbauen. Wenn nicht, meld ich mich nochmal...

    ... und solang mach hier dicht, falls du noch fragen usw hast pn an mex oder mich und schwubs ist die kiste wieder offen.

    gruß & geschlossen
    jone