WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
Ich werde die Dinger nie verstehen...
Wie entferne ich aus einem <table > ein width="irgendwas" ?
Oder in style=".... width:irgendwas;......"
Also nicht das ganze style-Attribut, sondern nur den Teil mit width=
Idealerweise nur, wenn das width:irgendwas; nicht länger als zb 12 Zeichen ist, um gröbere Zerstörungen zu vermeiden.
Beitrag geändert von boeseroeser (01.08.2019 16:48:46)
... das wäre als style-Attribut z.B.
[== HTML ==]
<div style="width:12">
width:\s*[0-9]{1,12}\;*Das regex sucht:
width: - "width:"
\s* - kein oder mehrere Leerzeichen (vielleicht stehen da ja mal welche)
[0-9]{1,12} - eine bis maximal 12 Ziffern (ggf. noch eine Einheit [a-z]{2,3} )
\;? - kein oder ein ";" (falls im style-Attribut nach dem width noch weitere Formate folgen)
Wenn es um die (deprecated) width-Angabe in einem table geht, dann sollte es so aussehen:
[== HTML ==]
<table width=12 ...>
width=['"]*[0-9]*['"]*hier wird gesucht:
width= - "width="
['"]? - kein oder ein Anführungszeichen (' oder ")
[0-9]+ - eine oder mehrere Ziffern
['"]? - kein oder ein Anführungszeichen
... nicht probiert, sollte aber klappen - wenn ich mich nicht vertippt habe ;)
Offline
Hallo und Danke, Jean
Ich habe mich gestern noch näher mit dem Thema "Wie bereinige ich Saustall-HTML" ;-) befasst, anhand einiger Muster.
Der erste Gedanke war natürlich über (mehr oder weniger zahlreiche) RegEx-Schnippel, habe dann aber gemerkt, dass das sehr schwierig ist. Es gibt ja auch noch die ganzen Einheiten (px, pt, em,%), solche und solche Anführungszeichen, dies und das.
Da wird man verrückt, wenn man da mal anfängt.
Eine Aufgabe wie:
> Lösche alle Style-Attribute + Werte außer ['color', background',background-color', ... ]
> Alles mit color:#0ff soll in H2 umgewandelt werden und dann die Farbe löschen.
ist mit RegEx wohl gar nicht mehr zu bewältigen, nehme ich an.
Vielleicht HTMLTidy
Ich habe eine Amazon-Wishlist.
Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Online
mal so neu blöde frage als Querdenker: die Styles mit important überschreiben geht nicht?
Offline
> ist mit RegEx wohl gar nicht mehr zu bewältigen, nehme ich an.
... doch, das geht. Ich habe so mal viele tausend Seiten aus einem alten Auftritt gespeichert, regex-iert und in ein neues CMS importiert. RegEx kann so lustige Sachen wie lookahead / lookbehind (also Sachen auswählen, je nachdem, was davor oder dahinter steht), und viel Logik steckte auch in meinem Parser-Skript. Ist dann aber nicht ganz trivial und ziemlich viel Versuch-und-Irrtum. Ich war immer bannig stolz auf meine RegEx-Konvertierungs-Skripte :) - aber bei einigen Auftritten ist es dann einfacher, alles zu speichern / parsen, alle Tags wegzuwerfen und per Hand (oder auch via RegEx / Skript) neu zu schreiben.
> Lösche alle Style-Attribute + Werte außer ['color', background',background-color', ... ]
> Alles mit color:#0ff soll in H2 umgewandelt werden und dann die Farbe löschen.
... nicht alleine mit RegEx (das sucht ja nur), aber zusammen mit der Programmiersprache deines Vertrauens geht das recht einfach.
Tidy und andere Linter können ein generell bischen helfen, aber das reicht nicht weit.
Offline
Seit WBCE 1.4.0 ist das OpF Dashboard mit an Bord.
Damit geht es super einfach.
Wenn Lernbereitschaft vorhanden, kann ich einen Beispielcode zur Verfügung stellen.
Wenn nicht, auch OK.
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Ich hab mich gestern abend noch etwas herumgespielt - und bin dann auf jQuery gekommen, was mir deutlich besser liegt (Ich verstehe wenigstens die Beispiele im Web, bei RegEx schaue ich wie der Ochse vorm Tor)
jQuery hat den Vorteil, dass man praktisch sofort Sichtkontrolle hat - und dass man sich immer im DOM bewegt. Fasst man den Start-Tag an, muss man sich um den SchlussTag nicht mehr kümmern. Fatale Fehler kann man also nicht machen.
Nachteil: Man muss es am Ende wieder in die DB bringen, aber das ist machbar.
Was ich nicht geschafft habe:
<span style="width:100px"><span class="bunt" style="color:#acc"><span class="klein" style="font-size:12pt">Wort</span></span></span>
zu
<span class="bunt klein" style="width:100px, color:#acc; font-size:12pt">Wort</span>
zusammen zu fassen.
@stefek: Geht das mit dem OpF Dashboard?
Mit dem OpF Dashboard geht so gut wie alles.
Aber für das letzte Beispiel müsste man wieder mehr fummeln.
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
jQuery - ein Beispiel, wie ich das jetzt gelöst habe:
https://wbce.at/tags-bereinigen.js
Geht auf den Contentbereich .maincontent
#darein ist eine textarea, zur Kontrolle.
Die Testseite ist vorübergehend: https://wbce.at/de/leere-seite.php
Putzt eigentlich recht brav durch. Auch die verschachtelten spans sind gelöst (war knifflig..)
OpF kenne ich nicht und habe ich nie probiert, und ja, mit JQ und JS als Skript-Sprache bekommt man das auch gut hin - aber dann benötigt man ja doch ein paar Extra-Klimmzüge, um das aus dem DOM in eine Datei / DB zu bekommen. Aber stimmt: das Ansprechen der Tags ist mit JQ schon geschmeidiger ...
Offline
(nur als Ergänzung: natürlich kann PHP auch recht bequem das DOM parsen und modifizieren - als Überblick https://stackoverflow.com/questions/357 … xml-in-php )
Offline
Seiten: 1