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
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.
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