php正则替换html中的子标签。例如只替换<table>标签中的<img>标签,而不影响<table>外的<img>
例如有一段html如下<imgtitle="aaa"src="bbb"/><table>...<td>aaa<imgsrc="ccc"/></td>...</table>...
例如有一段html如下
<img title="aaa" src="bbb"/><table>...<td>aaa<img src="ccc"/></td>...</table>
我现在只是想把所有<td>中的img标签给去掉,但不影响外面的那些img标签。请问如何做到。 展开
<img title="aaa" src="bbb"/><table>...<td>aaa<img src="ccc"/></td>...</table>
我现在只是想把所有<td>中的img标签给去掉,但不影响外面的那些img标签。请问如何做到。 展开
2个回答
展开全部
下面是实现的代码,你可以看看,基本符合你的要求,前提是一个单元格中只有一张图像;
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<?php
$str = '
<img src="aaa" />
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="bbb" /></td>
<td> </td>
</tr>
<tr>
<td>
<img src="ccc" />
</td>
<td><img src="eee" alt="noAlt"></td>
</tr>
<tr>
<td><img src="ddd" /></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><img src="eee" /></td>
</tr>
</table>
';
$reg = "#(?<=<td)(.*?)(?<i><img[^>]*>)#is";
$re = preg_replace($reg, '$1', $str);
echo $re;
?>
</body>
</html>
__
刚刚忘了你要的是替换了,已经更改。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询