Word zmora dla cms-ów, czyli jak wyrzucić śmieci

Remove word tags

Przykład PHP2014-03-07 stopień trudności: łatwy

Prawdziwą zmorą dla cms-ów posiadających edytory wysiwyg jest przeklejanie przez niektórych userów treści z Worda, mnóstwo tagów śmieciowych z którymi proste funkcje php nie są sobie w stanie nawet poradzić. Strona po tym jest często nie do poznania, nie mówiąc o rosnącej masie, która przy każdym dopisaniu treści idzie do kwadratu.


Poniżej najprostszy chyba i dość skuteczny sposób na pozbycie sie tych śmieci z kodu.


<?
//załóżmy że mamy treść wysłaną z edytora w cms-ie
$html $_POST['html'
];

//przykład wył. usunięcia stylów
//$html = preg_replace('#style="[^"]*"#i', '', $html);

//definiujemy co chcemy usunąć z tagów
$smieci 'style|STYLE|class|CLASS|align|ALIGN'
;

//tworzymy patern
$usun '/([\s]+)('.$smieci.')([\s]*)=([\s]*)(("|\')([^"\']+)("|\')|([^>"\']+))*/'
;

//i zamieniamy-wyrzucamy to czego nie chcemy
$html preg_replace($usun''$html
);

echo 
$html
;
?>


 


 
close
Strona korzysta z plików cookies. Zastosowane pliki cookie służą jedynie do prowadzenia ogólnych statystyk pozwalających na określenie popularności serwisu.