Zum Inhalt springen

wie klappt HTMLparser_db

Erstellt am 23. November 2009 · 2 Antworten · letzte Antwort am 24. November 2009

Tags: Frage

froemken ·

Ich schreib grad ne Doku über den RTE und hänge grad an diesen 6 verschiedenen HTMLparsern fest. entryHTMLparser und exitHTMLparser verstehe ich, aber diese hier check ich einfach nicht:

HTMLparser_db
HTMLparser_rte

Hab dieses Script hier:

proc {
HTMLparser_db.nestingGlobal = b,i,u,h1,h2,h3
HTMLparser_db.tags.h1.fixAttrib.class.set = veraendert
HTMLparser_db.tags.h1.fixAttrib.class.default = veraendert
}

Im RTE (chMode) steht einfach nur

<h1>Überschrift</h1>

aber auch mit

<h1 class="unveraendert">Überschrift</h1>

Diese Klasse wird für das Frontend einfach nicht übernommen und auch in der Datenbank steht einfach nur <h1>Überschrift</h1>

Ich dachte schon HTMLparser_db klappt überhaupt nicht, aber wenn ich den b-Tag auf i remappen will, dann geht das.

Irgendjemand eine Idee?

Stefan

froemken ·

Grad mal getestet:

exitHTMLparser_db = 1
exitHTMLparser_db.tags.h1.fixAttrib.class.set = veraendert

Also das hier funktioniert. Es ist also nicht so, dass ich nicht weiß, wie man das lösen kann. Ich möchte nur wissen wofür und für welchen Zweck man diese HTMLparser benötigt.

froemken ·

Ich hab jetzt den kompletten Quellcode durchforstet und bin auf das hier gestoßen:

case 'h1':
case 'h2':
case 'h3':
case 'h4':
case 'h5':
case 'h6':
if (!$css) {
$attribArray=$this->get_tag_attributes_classic($tag);
$innerContent = $this->HTMLcleaner_db($this->removeFirstAndLastTag($blockSplit[$k]));

Da css auf 1 gesetzt ist, dank der Angabe von css_transform, geht das Script bei HTMLparser_db überhaupt nicht in den HTMLcleaner_db rein, wo dann die fixAttrib-Befehle ausgeführt werden würden.

So wie es aussieht können nahezu ALLE Blockelemente NICHT mit diesem Objekt HTMLparser_db verändert/bearbeitet werden.

Stefan