ホームページ >バックエンド開発 >PHPチュートリアル >alt をフィルタリングするための正規表現を見つける
正则表达式 php
求PHP过滤alt的正则表达式,alt有三种情况,要求都能过滤掉
$s =<<< TXT<img src="xxxx" alt="xxxxxxxxx" ><img alt="xxxxxxxx" src="xxxxxxxx"><img src="xxxxxx" alt=xxxxxxx ><img alt=xxxxxxxxxxx src="xxxxxxx"><img src='xxxx' alt='xxxxxxxxx' ><img alt='xxxxxxxx' src='xxxxxxxx'>TXT;echo preg_replace('/alt=([\'"]?).+?\b\1/is', '', $s);01c454818dcc7c6680c26662ec9e9c98
求PHP过滤alt的正则表达式,alt有三种情况,要求都能过滤掉
alt="xxxxxxxxxxxx"
alt='xxxxxxxxxxxx'
alt=xxxxxxxxxxxx
要求能过滤掉以上三种情况的。
示例:
281c1fbbfa2eef6ca412b8ba38a301aa
b804e371f895b6a64c631464cda5a252
0fac6e0b66c1c673e655670ac8b4f9d1
f962f25690997c5880204daab53f4298
db6b417d7c5dcad09a95f99a78d5929c
134f37cac48aa22ef7dbf87445d30a55
……
要求能过滤各种情况,又不会过滤其它内容。谢谢。
$str='281c1fbbfa2eef6ca412b8ba38a301aa
b804e371f895b6a64c631464cda5a252
0fac6e0b66c1c673e655670ac8b4f9d1
f962f25690997c5880204daab53f4298
a16c951053bfd948682447734063cda6';
echo preg_replace('/(.*)(alt=[\"\']?.*?[\"\']?\s+)(.*)/', '$1$3', $str);
$s =<<< TXT<img src="xxxx" alt="xxxxxxxxx" ><img alt="xxxxxxxx" src="xxxxxxxx"><img src="xxxxxx" alt=xxxxxxx ><img alt=xxxxxxxxxxx src="xxxxxxx"><img src='xxxx' alt='xxxxxxxxx' ><img alt='xxxxxxxx' src='xxxxxxxx'>TXT;echo preg_replace('/alt=([\'"]?).+?\b\1/is', '', $s);01c454818dcc7c6680c26662ec9e9c98
<P align=center><img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243OF-12228.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243Y40-29608.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243c60-33252.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332440Y0-410N.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332441P-53227.jpg" border=0><BR><BR><img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332442M0-62002.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332443L0-N248.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332444I0-X239.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332445F-953E.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33244C30-105E1.jpg" border=0></P>
求PHP过滤alt的正则表达式,alt有三种情况,要求都能过滤掉
alt="xxxxxxxxxxxx"
alt='xxxxxxxxxxxx'
alt=xxxxxxxxxxxx
要求能过滤掉以上三种情况的。
示例:
281c1fbbfa2eef6ca412b8ba38a301aa
b804e371f895b6a64c631464cda5a252
0fac6e0b66c1c673e655670ac8b4f9d1
f962f25690997c5880204daab53f4298
db6b417d7c5dcad09a95f99a78d5929c
134f37cac48aa22ef7dbf87445d30a55
……
要求能过滤各种情况,又不会过滤其它内容。谢谢。
$str='281c1fbbfa2eef6ca412b8ba38a301aa
b804e371f895b6a64c631464cda5a252
0fac6e0b66c1c673e655670ac8b4f9d1
f962f25690997c5880204daab53f4298
a16c951053bfd948682447734063cda6';
echo preg_replace('/(.*)(alt=[\"\']?.*?[\"\']?\s+)(.*)/', '$1$3', $str);
你提供的方法可能只适合我在上面写的例子,我给个实际的的内容,就知道过滤出有问题了。
<P align=center><img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243OF-12228.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243Y40-29608.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243c60-33252.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332440Y0-410N.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332441P-53227.jpg" border=0><BR><BR><img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332442M0-62002.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332443L0-N248.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332444I0-X239.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332445F-953E.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33244C30-105E1.jpg" border=0></P>
我知道我那个正则有点问题,加那个 \b 是不得已而为之
不过既然能满足你示例的数据,那也就可以了。
你总不能让我去罗列一起可能出现的情况吧?那要你干什么呢?
$s =<<< TXT<P align=center><img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243OF-12228.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243Y40-29608.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243c60-33252.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332440Y0-410N.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332441P-53227.jpg" border=0><BR><BR><img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332442M0-62002.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332443L0-N248.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332444I0-X239.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332445F-953E.jpg" border=0> <img src="/uploads/allimg/c100508/12I33244C30-105E1.jpg" border=0 alt=如果QQ我是你></P>TXT;echo preg_replace('/alt=([\'"]?).+?\1(\s|>)/is', '$2', $s);9e0d973006c233b0028acee7654d97e0eaa89a91a2aceb0c8555a87128b3622a
求PHP过滤alt的正则表达式,alt有三种情况,要求都能过滤掉
alt="xxxxxxxxxxxx"
alt='xxxxxxxxxxxx'
alt=xxxxxxxxxxxx
要求能过滤掉以上三种情况的。
示例:
281c1fbbfa2eef6ca412b8ba38a301aa
b804e371f895b6a64c631464cda5a252
0fac6e0b66c1c673e655670ac8b4f9d1
f962f25690997c5880204daab53f4298
db6b417d7c5dcad09a95f99a78d5929c
134f37cac48aa22ef7dbf87445d30a55
……
要求能过滤各种情况,又不会过滤其它内容。谢谢。
$str='281c1fbbfa2eef6ca412b8ba38a301aa
b804e371f895b6a64c631464cda5a252
0fac6e0b66c1c673e655670ac8b4f9d1
f962f25690997c5880204daab53f4298
a16c951053bfd948682447734063cda6';
echo preg_replace('/(.*)(alt=[\"\']?.*?[\"\']?\s+)(.*)/', '$1$3', $str);
你提供的方法可能只适合我在上面写的例子,我给个实际的的内容,就知道过滤出有问题了。
<P align=center><img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243OF-12228.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243Y40-29608.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33243c60-33252.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332440Y0-410N.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332441P-53227.jpg" border=0><BR><BR><img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332442M0-62002.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332443L0-N248.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332444I0-X239.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I332445F-953E.jpg" border=0> <img alt=如果QQ我是你 src="/uploads/allimg/c100508/12I33244C30-105E1.jpg" border=0></P>
$str=f631a2eb9b8a38842d72c721cfef04d013ec8a2f39aedb152a265e63f8a0655a 6e000e2a4912abad6efce05a3baa4a03
7c8ad3488280f3807474a012dce9e03e82c2f54f4cf245029ffb326befd49b3f82c2f54f4cf245029ffb326befd49b3f
b41bca945c22eff7b861062f89af85f3
1faa16d8c8f20bad93ff06484001f6f8
855a58fb8a3d99825d3826852f4fda96ee2bfd64228f824cf6027e0da2815b78
TXT;
echo preg_replace(' /(.*?)(alt=["']?.*?["']?)(s+|>)/', '$1$3', $str);
にスペースがないことを忘れてください。戻る さて、最後にスペースがない状況を追加してください