例如我有一个字符串:
$string = '<div class="ImageRight" style="width:150px">';
我想转换成这个:
$string = '<div class="ImageRight">';
我想删除该部分
style="width:150px
preg_replace()
其中{{1}}
尺寸150可以变化,所以宽度可以
500px等。
此外,类名的最后一部分也是如此,因此该类可以是ImageRight,ImageLeft,ImageTop等。
那么,如何从具有上述结构的字符串中完全删除样式属性,其中唯一不同的是类名的最后部分和宽度值?
编辑:我拥有的ACTUAL字符串是一个完整的html文档,我不想从整个html中删除style属性,只能从与上面显示的字符串匹配的标记中删除。
答案 0 :(得分:1)
我认为这就是你所追求的......
$modifiedHtml = preg_replace('/<(div class="Image[^"]+") style="[^"]+">/i', '<$1>', $html);
答案 1 :(得分:0)
完全删除。
$string = preg_replace("/style=\"width:150px\"/", "", $string);
替换:
$string = preg_replace("/style=\"width:150px\"/", "style=\"width:500px\"", $string);
答案 2 :(得分:0)
您可以使用
分两步完成$place = 'Left';
$size = 500;
$string = preg_replace('/(?<=class="image)\W(?=")/',$place,$string);
$string = preg_replace('/(?<=style="width:)[0-9]+(?=")/',$size,$string);
注意:(?=...)
被称为前瞻。
答案 3 :(得分:0)
怎么样:
$string = preg_replace('/(div class="Image.+?") style="width:.+?"/', "$1", $string);
答案 4 :(得分:0)
简单:
$string = preg_replace('/<div class="Image(.*?)".*?>/i', '<div class="Image$1">', $string);