我仍然没能够熟练地使用正则表达式,因此无法用正则表达式从表格中完全去除背景颜色、字体和颜色属性,但保留所有样式。
我已经尝试使用正则表达式去除所有样式,但实际上我想要去除背景颜色、字体和颜色属性,但是保留所有其他样式。
if(isset($_REQUEST["Save"])) {
$VariantName = $_REQUEST["name"];
$desc = preg_replace('/(<[^>]+\s+)(?:style\s*=\s*"(?!(?:|[^"]*[;\s])color\s*:[^";]*)(?!(?:|[^"]*[;\s])background-color\s*:[^";]*)[^"]*"|(style\s*=\s*")(?=(?:|[^"]*[;\s])(color\s*:[^";]*))?(?=(?:|[^"]*)(;))?(?=(?:|[^"]*[;\s])(background-color\s*:[^";]*))?[^"]*("))/i', '', $VariantName);
echo $desc;
}
这个
<p style="font-family:Garamond;font-size:8px;line-height:14px;color:#FF0000;background-color:red;">example</p>
should become:
<p style="font-size:8px;line-height:14px;">example</p>