我想从字符串中删除特定的图像。
我需要删除具有特定宽度和高度的图像。
我已经尝试过了,但这将删除第一张图像。
$description = preg_replace('/<img.*?>/', '123', $description, 1);
我想删除具有特定宽度和高度的任何/所有图像。
例如,删除该图像<img width="1" height="1" ..../>
我建议您不要使用正则表达式来解析(或操作)HTML,因为这不是一个好主意,这里有一个很好的SO为什么答案。
例如,通过使用Peter的方法(preg_match_all('~<img src="(.+?)" width="(.+?)">~is', $content, $return);
),您假定所有图像<img
均以开头,之后是src
,然后包含width=
,所有类型的输入均与此完全相同,并带有那些精确的空格分隔符和那些特殊的引号。这意味着您将不会捕获要删除的任何这些完全有效的HTML图像:
<img src='asd' width="123"> <img src="asd" width="123"> <img src="asd" class='abc' width="123"> <img src="asd" width = "123">
虽然当然可以抓住所有这些情况,但您真的要付出所有这些努力吗?当您可以使用已经存在的工具来解析HTML时,为什么要重新发明轮子呢?看看另一个问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句