cybton.com
Über uns | Jobs | Werbung | Sitemap | AGB | Impressum | Hilfe ?
 Kostenlos anmelden)
Home
Impressum
Sitemap
AGB
Kontakt
Hilfe

Über Uns
Was ist Cybton?
Mitarbeiter
Technik
Werbung
Jobs


Statistik
Mitglieder gesamt: 68162
Mitglieder online: 1
Gäste online: 0
mehr...

Anzeige
Home » Suche

Suche

(96 Ergebnisse)Forum
+

Das Problem ist nicht preg_replace_callback, denn das escaped von sich aus gar nichts, das Problem liegt daran, dass du mit htmlentities escapesd und dann diesen escapeten String der Funktion highlight_string übergibst welche nun mal von sich aus wieder escaped!
Genau dieser Teil ist schuld:

Zitat:
create_function("\$suchergebniss", "return highlight_string(\"<?php \".\$suchergebniss[1].\" ?>\", TRUE);")
Um das zu korrigieren musst du highlight_string den nicht escapeten String übergeben, das kannst du machen in dem du einfach die Variabel $suchergebniss in dieser zur Laufzeit erzeugten Funktion per html_entity_decode() zurückumwandelst.

Jedoch würde sich dann der Lesbarkeit halber eine externe Funktion einer zur Laufzeit generierten Funktion eher anbieten besonders im nächsten Punkt.

Bei dem Ergebnis dass du von highlight_string zurückbekommst würde ich noch das <?php und ?> wegmachen sonst steht später mehr drin als der User eigentlich eingegeben hat, kannst du entweder mit regulären Ausdrücken oder in dem du schaust was da am Ende rauskommst und die ersten x Zeichen löscht (denn das sollte sich ja nicht ändern) und die letzten y Zeichen eben.

Du könntest natürlich auch das htmlentities nur auf das anwenden was später nicht der Funktion highlight_string vorgesetzt wird. Das könntest du mit regulären Ausdrücken erreichen (gerade wieder mit preg_replace_callback) aber da habe ich gerade keine Lust einen entsprechenden Ausdruck oder Code zu erstellen.

Ich finde die Lösung mit highlight_string sowieso eher suboptimal du könntest ggf. deinen eigenen Syntax-Highlighter bastellen das ist zwar etwas mehr Aufwand bringt dir aber einige Vorteile: kein zusätzliches einfügen von <?php und ?> nötig, ggf. kein entfernen dieser oder dem eingefügt lassen von Dingen die der User gar nicht eingegeben hat, Nutzung von Klassen und CSS (leichte Anpassbarkeit des Aussehens per CSS), leichte Erweiterbarkeit auf andere Sprachen (kann die Funktion überhaupt HTML, CSS oder andere highlighten?), keine Probleme mit dem escapen, genau das richtige um reguläre Ausdrücke zu erlernen (was du ja gerade vor hast), ...

Wenn du das nicht selber machen kannst oder willst, kannst du auch schauen ob es sowas ggf. zur freien Verwendung bereits gibt und das nutze. Selbst in den Kommentaren auf dieser Seite http://de2.php.net/manual/de/function.highlight-string.php gibt es einiges, ob da was dabei ist was man gebrauchen kann weis ich jedoch nicht.

        preg_replace_callback() escaped automatisch?
        Handy zeigt PHP-code an...hä?
        Ganze Spalte einer Tabelle formatieren
        Neues Desgin meiner Seite (nach nicht mal 2 Monaten) - Feedback bitte
        Spieldauer von Mediendateien automatisch anzeigen? (PHP)
        anstatt "index.php?action=1" -> "index,action,1.html"
        Suche neuen Fernseher - welche Marke? welche Eigenschaften?
(83 Ergebnisse)News
     Stirbt OpenOffice?Hard- & Software
     Fujitsu übernimmt Fujitsu-Siemens komplettIT/Technik
     Erster Eindruck von Windows 7Hard- & Software
     GIMP 2.6.1 veröffentlichtHard- & Software
     Walmart macht Entscheidung rückgängigUnterhaltung
     Zweite Vorabversion von Fedora 10 freigegebenHard- & Software
     EU lehnt Verkauf von Fernsehrechten nach Ländern abUnterhaltung
(2 Ergebnisse)Hilfe
Wie lösche ich meinen Account?
Die Tag-Funktion
(14 Ergebnisse)User
CED
CV2BBS
GottZ
Kevinq
Oman
Xanatas
brott
(1 Ergebnis)Buecher
PHP. Web-Seiten dynamisch programmieren.
Es wurde in den Kategorien Tutorial, Homepages und Basar nichts gefunden.
nach obennach oben

Copyright © 2009 cybton-network

Google
Partner: #Musik - Dein Internetradio - nexem. - .wir machen news - Your-Book.net - Dein kostenloses Gästebuch
ANEXIA - PHP Entwicklung - Dockers - s.Oliver Schuhe - Think Schuhe - der eigene Weg - Dorfen - Paul Green Schuhe - Bequeme Geox - Web-Entwicklung - Schueler.CC @ nexem