21,886
社区成员
发帖
与我相关
我的任务
分享
$str='<td valign="middle" style="text-align:center; ">这里可能有文字也可能直接是html标记<b>文字</b>aa<b>文字</b>这里可能有文字也可能直接是html标记</td>';
preg_match_all('/<td (.*?)>(.*?)<\/td>/',$str,$m);
$msg = preg_replace("/<[^>]+>/", "", $m[2][0]);
echo "<td>".$msg."</td>";
写的比较菜,不过可以用,坐等高手优化代码。$s =<<< TXT
<td valign="middle" style="text-align:center; ">这里可能有文字也可能直接是html标记<b>文字</b>aa<b>文字</b>这里可能有文字也可能直接是html标记</td>
TXT;
echo preg_replace_callback('#<td\s.*?>(.*?)</td>#is', function($m) {
return '<td>' . strip_tags($m[1]) . '</td>';
}, $s);
<td>这里可能有文字也可能直接是html标记文字aa文字这里可能有文字也可能直接是html标记</td>