- Home
- Przykłady i porady PHP79
- Inne pomoce, software6
- Banery
- Hyde Park Private Zone6
- Polityka cookies
- Udostępnianie tekstów
© 2001 - 2024 PhpCodex
Word zmora dla cms-ów, czyli jak wyrzucić śmieci
Remove word tags
Przykład PHP2014-03-07 stopień trudności: łatwyPrawdziwą 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;
?>