字符串可能如下:
$s1 = '这里是描述字符( )
| AAAAA | BBBBB |
$s2= ’这里是描述字符( )
| 0 |
希望能把table表格前的字符 :这里是描述字符( )’ 和 td 中间的字符串提取出来
'BBBBB '、'AAAAA'、'
'、'0' 表格td中间内容可能比较杂,尽量考虑各种情况。
不知道描述得清楚么? 各位正则达人请支招!
------解决思路----------------------
$s1 = '这里是描述字符( )
| AAAAA | BBBBB |
$s2= '这里是描述字符( )
| 0 |
//匹配table前面的内容
preg_match_all('/(.+?)
| ]+?>(.+?)<\/td>/i',$s2,$m2); echo " ";"; //$p1[1]和$m2[1]就是匹配到的内容 ------解决思路----------------------
$s2 = '这里是描述字符( )
//换个思路吧,不要提取而是删减 //包括table/tr标签就再加2条 $replace = array('/<\s*td.*>/U', '/<\s*\/td\s*>/U'); echo preg_replace($replace, '', $s1); echo ' '; echo preg_replace($replace, '', $s2); |