Bitte erlöst mich von meinem Elend!
Ich möchte per 'preg_replace' alle Styleangaben aus einem html Text entfernen. Mein erfolgreichster Suchpattern dazu sieht so aus:
$suche[2] = '@style='(.*)'@i';
Das entfernt alle Styleangaben die nur eine Zeile benötigen - aber wenn ein Zeilenumbruch drin ist schaut's schlecht aus (html kommt von Word).
Im Laufe des stundenlangen Debuggens und fleissiger Weiterbildung habe ich alle möglichen Varianten ausprobiert:
im,is und ims hinter dem zweiten Delimiter @
$ vor dem letzten '
Eckige und runde Klammern an jeder Position
\r\n schon vorher ersetzen bzw. in das Patten einbauen
...
Als Ergebnis bleiben die Styleangaben entweder im Quelltext oder die preg_replace Funktion ersetzt auch über das abschließende ' hinaus weiter.
Hiermal ein Beispieltext, in dem ersetzt werden soll:
<p class=MsoNormal align=center style='text-align:center;background:white'><b><span
lang=TR style='font-size:12.0pt;font-family:Verdana;color:black;letter-spacing:
.65pt;mso-ansi-language:TR'>TOBİT' İN KİTABI<br
style='mso-special-character:line-break'>
<![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
<![endif]></span></b><span lang=TR style='mso-ansi-language:TR'><o:p></o:p></span></p>
Bitte, bitte - kann mir jemand mit dem Suchpattern helfen bevor der Feiertag endgültig vorbei ist?
Anschinsan