cmb wrote:Man könnte prinzipiell uenc() auch auf die Seitenüberschrift anwenden
Code: Select all
urldecode(uenc($h[x]));
Also uenc() ist nicht wirklich geeignet. Ich habe urichar_* jetzt manuell berücksichtigt und dann zusätzlich danach den Filter für Nicht-ASCII-Zeichen belassen. Dann hat man die Möglichkeit passende Dateinamen zu generieren und zusätzlich, wenn urichar_* nicht definiert ist, trotzdem "saubere" Dateinamen.
Herausfiltern macht ja nicht wirklich Sinn. Dann schon lieber in funktionierende absolute URLs konvertieren. Das ist per RegExp (zumindest für mich) aber nicht ohne , denn Links zu Dateien, Downloads und internen Seiten sind ja völlig unterschiedlich ("./", "../" oder nur "?"). Außerdem ist bei internen Seitenlinks in Zweitsprachen noch das Sprachverzeichnis vorangestellt, bei Datei-Links jedoch natürlich nicht... Und, da das PDF ja aus der Druckansicht generiert wird, muss das dann von XH automatisch angehängte "&print" wieder entfernt werden.cmb wrote:Vielleicht wäre es möglich solche Links zu unterdrücken (preg_replace)?Ludwig wrote:Interne Links funktionieren in der pdf-Datei natürlich nicht, aber damit kann man leben.
IMO macht speziell bei so etwas preg_replace() keinen Sinn, bzw. wird viel zu kompliziert und die Anpassungen müssen auch in mehreren Durchgängen ersetzt werden.
Ich habe das jetzt per DomDocument gemacht. Da kann man zumindest sicher sein, dass man wirklich das href-Attribut eines a - Tags bearbeitet...
Ich schick' die geänderte Version mal an Hartmut. Wenn die Tests zufriedenstellend laufen, kann daraus dann ein richtiges Plugin werden.
An der Stelle Dank an alle, die sich die Mühe machen zu testen und zu kommentieren und natürlich an Hartmut für den Live-Probelauf.
LG
Holger