syntax highlighting


  • grindL`
  • 1035 Aufrufe 2 Antworten

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

  • syntax highlighting

    so ihr habt ja leider meinen thread geschlossen jetzt muss ich noch einen aufmachen weil ich hab da noch ein prob mit der funktion!
    also die funktion ist ja highlight_string($foo);
    mein prob ist das ganze kommt in einen string hinen und ich dachte mir ich muss dann die funktion im string ausführen nur das wenn einer postet der keinen funktionen ausführen kann macht sollte das meine datei bbcode.php machen und in dieser erstze ich alle dinge wie urls usw. darin sollte nun auhc der php tag auf eben das highlight_string geändert werden und dann der string hineinkommen! das prob ist das man das nicht kann man muss vorher eine datei erstellen die den string beinhaltet und kann dann erst den highlight_string() ausführen meine frage ist nun wie kann ich in einem echo ""; eine datei erstellen und diese dann auch noch mit highlight_string ausführen und ausgeben.
    das nächste prob ist das highlight_string() seine ausgabe einfach am anfang einer page macht und dann im echo anstelle des codes nur eine 1 schreibt!! und das weiss ich auch nicht wie ich wegbekomme hat da von euch irgendjemand eine ahnung??

    PHP-Quellcode

    1. <?php $foo = "<?php echo \$h1; ?>";
    2. highlight_string($foo); ?>

    das geht weil das naechste prob ist das vor allen " und $ wieder ein \ stehen muss sonnst macht er das auch nicht!
  • Re: syntax highlighting

    Original geschrieben von grindL`
    man muss vorher eine datei erstellen die den string beinhaltet und kann dann erst den highlight_string() ausführen
    hmmmm ? folgendes codesegment funzt bei mir (angelehnt an dein beispiel):

    PHP-Quellcode

    1. HTML: ein herrlicher text<br>
    2. <?php
    3. $h1 = "PHP-VAR: print \"bla\";";
    4. print "PHP-Highlight mit \"\": ";
    5. highlight_string($foo = "<?php echo \$h1; ?>");
    6. print "<br>";
    7. print "PHP-Highlight mit \'\': ";
    8. highlight_string($foo = '<?php echo $h1; ?>');
    9. print "<br>";
    10. print $h1;
    11. print "<br>";
    12. ?>
    13. HTML: wieder ein wunderschoener text
    Alles anzeigen

    das nächste prob ist das highlight_string() seine ausgabe einfach am anfang einer page macht und dann im echo anstelle des codes nur eine 1 schreibt!!
    ich hab in dem beispiel oben mal $h1 belegt, um zu testen, wann er den namen der variablen und wann den inhalt ausgibt. und er machts "richtig". ausserdem hab ich die highlight funktion verschachtelt. die ausgabe von highlight() erfolgt wie erwartet und gewollt "inline" :D

    evtl schaust du noch mal ob du bei den verschachtelten tabellen einen fehler hast ;)

    vielleicht beschreibst du das problem dann noch mal etwas genauer und benutzt dabei satzzeichen und leerzeilen ;)

    das geht weil das naechste prob ist das vor allen " und $ wieder ein \ stehen muss sonnst macht er das auch nicht!
    wenn du print '$h1'; statt print "$h1"; benutzt, löst er die variable auch nicht auf ;)
  • nochmal mein problem:
    ich will eine funktion in ein board das ich so fun halber mal gecoded hab einbaun mithilfe dieser der user einen php code darstellen kann! => man bindet das in segmente wie \[php\]\[\/php\] ein! nur jetzt ohne den \ ;)

    das ganze passiert logischerweise in einem echo. also in dem board wird via echo eine variable ausgegeben. diese variable ist ein string ich nenne sie jetzt mal $text. diese variable $text wird in einer mysql db gespeichert. wenn der user jetzt die oben gennanten tags schreibt sollte das script den teil zwischen den tags in eine highlight_string() funktion schreiben => volgende überlegung von mir:
    ich ersetze in dem string alle ersten tag teile durch: highkight_string(
    und den anderen teil mit: )
    das funktionierte logischerweise nicht weil er das als einfachen text verwendete! meine frage ist nun wie kann ich in einer echo funktion eine andere funktion ausführen und das dann in der funktion darstellen:

    also:

    PHP-Quellcode

    1. <? echo "normaler text ".highlight_string($foo = '<?php echo $hi; ?>')." normaler text"; ?>


    die ausgabe ist dann:

    PHP-Quellcode

    1. <?php echo $hi; ?> normaler text 1 normaler text


    lasse ich das $foo = weg passiert das gleiche.
    Das problem ist jetzt wie bekommt man den teil von highlight_string dort hin wo er stehen soll naemlich da wo er die 1 hinschreibt?????

    cu grindL`