Beitrag von Stefan Skalla (86 Beiträge) am Mittwoch, 4.April.2001, 22:21.
@Christoph: Frage zu convert-Routinen und noch ein Kommentar
Ich fang mal mit dem Kommentar zur untenstehenden Diskussion an: Jawoll, Recht haste, Christoph! Da hat wohl jemand ein wenig den Boden unter den Füßen verloren. Ich finde die Bannergeschichte als Gegenleistung für kostenlose Nutzung eines einzigartigen Service völlig in Ordnung. Außerdem hat sich dann auch endlich mal das immer wieder nachgefragte Problem "Wie bekomme ich Bilder in meine Templates???" erledigt. Ha, ha - kleiner Scherz am Rande!
Nun meine Frage zu den convert-Routinen; hab ein wenig damit herumgespielt und auch mal convert_links ausprobiert, wie es in Deinem Forum-Template angewendet wird. Dabei ist mir aufgefallen, dass convert_links nicht nur aus dem URL-Text einen Link macht, sondern zusätzlich auch noch die gleiche Wirkung hat wie convert_html, also ALLE HTML-Tags in dem betreffenden Text werden entschärft. Ist das Absicht oder ein Fehler? Mir wär's lieber, wenn's ein Fehler wäre und convert_links sich genau so verhält, wie es heißt ...
Gruß,
Stefan
Antworten
Beitrag von Stefan Skalla (86 Beiträge) am Donnerstag, 5.April.2001, 11:11.
Re: @Christoph: Frage zu convert-Routinen - Nachtrag
Noch ein weiteres Problem zu convert_html:
Ich habe folgendes ausprobiert: Über ein Formular wird der Inhalt eines Textfeldes "content" an ein Template übergeben. Wenn ich den Inhalt dieses Feldes anschließend über out convert_html($_get{content}) ausgebe, erscheint der Inhalt so wie erwartet. HTML-Tags werden entschärft und mit ausgegeben. Bei out $_get{content} werden die HTML-Tags angewendet.
Wenn ich jedoch zunächst über eine Anweisung $content=$_get{content} den Inhalt in einer anderen Variable abspeichere und anschließend über out convert_html($content) diese ausgebe, erscheint der Text so, als wenn convert_html zwei Mal auf ihn angewendet wurde. Also z.B. statt einem Umlaut wird die HTML-Codierung für diesen Umlaut angezeigt. Wenn ich nur out $content angebe, wird convert_html anscheinend automatisch ein Mal durchgeführt. Das heißt, HTML-Tags werden automatisch entschärft, obwohl ich das eigentlich noch gar nicht wollte.
So langsam durchblicke ich das nicht mehr ... Kann mir das mal jemand erklären?
Gruß,
Stefan
Antworten
Beitrag von Stefan Skalla (86 Beiträge) am Donnerstag, 5.April.2001, 11:46.
@Christoph: Frage zu convert-Routinen - Nachtrag: Hat sich erledigt!
Hat sich erledigt. Die doppelte Konvertierung kam auch hier durch die Kombination mit convert_links zustande.
Gruß,Stefan
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 5.April.2001, 16:36.
Re: @Christoph: Frage zu convert-Routinen und noch ein Kommentar
Ist (leider? ;-) ) nicht nur ein Fehler, sondern hat seinen Grund: Will man HTML entschärfen UND Links markieren, kann man das nicht trennen, weil das "zeitgleich" passieren muss, denn:
Stell Dir folgenden Text vor:
hier ist html: <b>bla</b> und hier ist eine url: http://baseportal.de/cgi-bin/baseportal.pl?htx=/bla/bla&Alter<24
so, waere convert_links OHNE convert_html, also so wie du dir das wünschst passiert, wenn man beides will folgendes:
nach "convert_html" -> hier ist html: <b>bla</b> und hier ist eine url: http://baseportal.de/cgi-bin/baseportal.pl?htx=/bla/bla&Alter<24
d.h. die url waere kaputt... ("Alter<24")
dreht man das ganze um, gehts leider auch nicht:
nach "convert_links" -> hier ist html: <b>bla</b> und hier ist eine url: <a href="http://baseportal.de/cgi-bin/baseportal.pl?htx=/bla/bla&Alter<24">http://baseportal.de/cgi-bin/baseportal.pl?htx=/bla/bla&Alter<24
soweit ok, aber ein convert_html würde den link jetzt entschärfen:
nach "convert_html" -> hier ist html: <b>bla</b> und hier ist eine url: <a href="http://...usw.
klar?
da ich diese funktion so im forum gebraucht hab, hab ich beides zusammen gemacht...
nun hast du recht: man braeuchte ein convert_only_link oder besser:
"convert_html_links" macht beides und "convert_links" nur die links
dürfte aber ein problem geben das jetzt umzustellen, weil vielleicht einige schon "convert_links" nutzen wie es ist...
was tun? ;-)
Antworten
Beitrag von Stefan Skalla (86 Beiträge) am Donnerstag, 5.April.2001, 17:25.
Re: @Christoph: Frage zu convert-Routinen und noch ein Kommentar
Hab's verstanden. Danke für die Erklärung - und genau die Trennung der beiden Befehle wäre das, was mir fehlt. Was ich machen möchte ist, nicht alle HTML-Befehle zu verbieten. Ich wollte gerne solche Befehle, die das Gesamtlayout der Seite nicht zerstören können, wie z.B. <b>, <i>, <center> und eben auch Links mit target="_blank" erlauben - wofür convert_links natürlich super wäre. Bilder, Java und anderen Krempel wollte ich unterdrücken.
Ist aber nicht so wichtig; vielleicht finde ich einen anderen Weg. Erst convert_links anwenden und dann die Entschärfung der erlaubten HTML-Befehle durch Verwendung regulärer Ausdrücke wieder rückgängig machen? Das wird ein Spaß! Aber funktionieren müsste es irgendwie ...
Gruß,
Stefan
Antworten
Beitrag von Sander (8133 Beiträge) am Donnerstag, 5.April.2001, 17:27.
Re: @Christoph: Frage zu convert-Routinen und noch ein Kommentar
wenn du mit Perl arbeitest kannst du das auch mit suchen/ersetzen ganz nach deinem Geschmack bauen.
Sander
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 5.April.2001, 20:59.
Re: @Christoph: Frage zu convert-Routinen
Antworten
Beitrag von Stefan Skalla (86 Beiträge) am Freitag, 6.April.2001, 11:31.
Re: @Christoph: Frage zu convert-Routinen
Vielen Dank! Ja, so eine Spezialroutine hätte die Aufgabe auch nicht gelöst. Irgendwelche Ersetzungen hätte ich so oder so machen müssen.
Viele Grüße,
Stefan
Antworten