>백엔드 개발 >PHP 튜토리얼 > 来问正则表达式了!解决方案

来问正则表达式了!解决方案

WBOY
WBOY원래의
2016-06-13 13:47:39953검색

来问正则表达式了!!

testtesttes


想通过preg_replace函数把table里的属性只留其中的两项rowspan=6   和colspan=4,此函数里的正则该怎么写??


------解决方案--------------------
$str = '
testtesttes
';
$str = preg_replace( '/\ ].*)?rowspan=[\ "\ ']?([0-9]+)[\ "\ ']?(\s.*)?colspan=[\ '\ "]?([0-9]+)[\ '\ "]?([^\> ].*?)?\> /i ', '
',$str);
echo htmlspecialchars($str);
------解决方案--------------------
:P
$str = '
testtesttes
';
$str = preg_replace( '/\ ].*)?(rowspan|colspan)=[\ "\ ']?([0-9]+)[\ "\ ']?(\s.*)?(colspan|rowspan)=[\ '\ "]?([0-9]+)[\ '\ "]?([^\> ].*?)?\> /i ', '
',$str);
echo htmlspecialchars($str);
------解决方案--------------------
我也贴一个,本贴考虑到的可确保的情况有
1、避免出现引号错误,如:rowspan= "2 '等;
2、避免等号前后出现空格、换行等,如rowspan =
"2 "。

$str = preg_replace( '/\
]+(rowspan|colspan)[\s\r\n]*=[\s\r\n]*([\ "\ ']?)(\d+)\2[^\> ]+(colspan|rowspan)[\s\r\n]*=[\s\r\n]*([\ '\ "]?)(\d+)\5[^\> ]*\> /i ', '
',$str);
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.