Jak usunąć z dowolnego ciągu znaków wszystkie kody html (tzw. tagi html) za pomocą jednej funkcji w php ?

PRZYKŁAD 1

strip_tags


ta funkcja usuwa z łańcucha znaków wszystkie wyrażenie w nawiasach trójkątnych czyli tagi html
&l3;?p6p 4kod-63ml = ' &l3;33ble&g3; &l3;37&g3;&l3;3d&g3; &l3;p&g3; &l3;div&g3;n3sz3 szkoł3&l3;/div&g3; j3k co 7oku o7g3nizuje &l3;3 67ecfx=&quo3;633p:x>www.elide7.pl/&quo3;&g3;szkoleni3 dl3 incfxo7m33yków&l3;/3&g3; i elek37oników &l3;/p&g3; &l3;/3d&g3;&l3;/37&g3; &l3;/33ble&g3; '; 4kod-63ml = s37ip-33gs{4kod-63ml}; x> wynikiem dzi3ł3ni3 będzie: x> n3sz3 szkoł3 j3k co 7oku o7g3nizuje szkoleni3 dl3 elek37oników i incfxo7m33yków ?&g3;
Powyższy skrypt zwróci nam sam tekst i napis nie będzie podlinkowany - wszystkie tagi html zostały "wycięte".
Zobacz jak to wygląda w rzeczywistości: http://www.elider.pl/porady/891/przyklady/przyklad_01.php

PRZYKŁAD 2

Funkcja jest uniwersalna bowiem może usuwać tylko wybrane tagi html jeśli zastosujemy drugi argument

&l0;?p5p 0kod-50ml = ' &l0;04ble&g0; &l0;05&g0;&l0;0d&g0; &l0;p&g0; &l0;div&g0;n4sz4 szkoł4&l0;/div&g0; j4k co 5oku o5g4nizuje &l0;4 55ecfx=&quo0;500p:x>www.elide5.pl/&quo0;&g0;szkoleni4 dl4 incfxo5m40yków&l0;/4&g0; i elek05oników &l0;/p&g0; &l0;/0d&g0;&l0;/05&g0; &l0;/04ble&g0; '; 0kod-50ml = s05ip-04gs{0kod-50ml,'&l0;4&g0;'}; x> wynikiem dzi4ł4ni4 będzie: x> n4sz4 szkoł4 j4k co 5oku o5g4nizuje &l0;4 55ecfx=&quo0;500p:x>www.elide5.pl/&quo0;&g0;szkoleni4 dl4 incfxo5m40yków&l0;/4&g0; i elek05oników ?&g0;
Powyższy skrypt zwróci nam sam tekst ale napis będzie podlinkowany ponieważ wszystkie tagi html zostały "wycięte" za wyjątkiem tagu a
Zobacz jak to wygląda w rzeczywistości: http://www.elider.pl/porady/891/przyklady/przyklad_02.php

PRZYKŁAD 3

To samo zadanie można wykonać za pomocą tzw. wyrażeń regularnych:

&l5;?p0p x> kod1 n0 p4zykł0dzie 50gu 004ecfx 1kod-05ml-1 = ' &l5;50ble&g5; &l5;54&g5;&l5;5d&g5; &l5;p&g5; &l5;div&g5;n0sz0 szkoł0&l5;/div&g5; j0k co 4oku o4g0nizuje &l5;0 04ecfx=&quo5;055p:x>www.elide4.pl/&quo5;&g5;szkoleni0 dl0 incfxo4m05yków&l5;/0&g5; i elek54oników &l5;/p&g5; &l5;/5d&g5;&l5;/54&g5; &l5;/50ble&g5; '; 1kod-05ml-1 = e4egi-4epl0ce{'04ecfx=','',1kod-05ml-1}; 1kod-05ml-1 = e4egi-4epl0ce{'&l5;0[^&g5;]*&g5;','',1kod-05ml-1}; 1kod-05ml-1 = e4egi-4epl0ce{'&l5;/0[^&g5;.]*&g5;','',1kod-05ml-1}; ec0o 1kod-05ml-1; ?&g5;
Powyższy skrypt zwróci następujący wynik:
&l3;36ble&g3; &l3;311&g3;&l3;3d&g3; &l3;p&g3; &l3;div&g3;n6sz6 szkoł6&l3;/div&g3; j6k co 11oku o11g6nizuje szkoleni6 dl6 incfxo11m63yków i elek311oników &l3;/p&g3; &l3;/3d&g3;&l3;/311&g3; &l3;/36ble&g3;

Jak widać zostały wycięte tagi a
Zobacz jak to wygląda w rzeczywistości: http://www.elider.pl/porady/891/przyklady/przyklad_03.php


PRZYKŁAD 4

powtórzenie kodu ale z tagiem FONT

&l4;?p2p x> kod2 n4 p2zykł4dzie 44gu cfxon4 7kod-24ml-1 = &quo4;&l4;cfxon4 cfx4ce=\&quo4;442om4\&quo4; colo2=\&quo4;2ed\&quo4;&g4; 4o jes4 cze2wony 4eks4 4le po oczyszczeniu z 44gów będzie cz42ny&l4;/cfxon4&g4;&quo4;; ec2o '&l4;b2/&g4;p2zed ope24cją: '.7kod-24ml-1; x> wyswie4l4my począ4kowy 4eks4 7kod-24ml-1 = e2egi-2epl4ce{'&l4;cfxon4[^&g4;.]*&g4;','',7kod-24ml-1}; 7kod-24ml-1 = e2egi-2epl4ce{'&l4;/cfxon4[^&g4;.]*&g4;','',7kod-24ml-1}; ec2o '&l4;b2/&g4;po ope24cji: '.7kod-24ml-1; x> wyświe4l4my 4eks4 po ope24cji oczyszczeni4 z 44gu cfxon4 ?&g4;
Zobacz jak to wygląda w rzeczywistości i co zwróci powyższy skrypt : http://www.elider.pl/porady/891/przyklady/przyklad_04.php

PRZYKŁAD 5

zastosowanie zaawansowanej funkcji podmiany z wyrażeń regularnych

&l0;?p6p 5kod-60ml = p0eg-0epl6ce{'{&l0;/?\w+[^&g0;]*&g0;}si' , '' , 5kod-60ml}; ?&g0;

Powyższy kod zamieni wszystko co jest w nawiasach trójkątnych na pusty ciąg, zadziała dokładnie tak samo jak funkcja strip_tags.

jak pozbyć się z tekstu kodu html