Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php删除背景色_Php_Html_Regex_String - Fatal编程技术网

使用php删除背景色

使用php删除背景色,php,html,regex,string,Php,Html,Regex,String,我试图用PHP从字符串中删除背景色,为此我想使用正则表达式(在我看来,这是实现这一点的最快方法) 以下是我所拥有的: <span style="font-family: Arial, Narrow, sans-serif; background-color: rgb(25, 56, 92); color: rgb(170, 170, 170);">Parabéns! Você recebeu um pouco de sorte!&nbsp;<br></spa

我试图用PHP从字符串中删除背景色,为此我想使用正则表达式(在我看来,这是实现这一点的最快方法)

以下是我所拥有的:

<span style="font-family: Arial, Narrow, sans-serif; background-color: rgb(25, 56, 92); color: rgb(170, 170, 170);">Parabéns! Você recebeu um pouco de sorte!&nbsp;<br></span>
我试图通过网络和stackoverflow进行搜索,但找不到这个特定问题的答案

感谢您的关注。

使用preg_replace()和正则表达式

$string = "background-color: #ffffff;";
$expression = "/background-color:(.*?);/";
$string = preg_replace($expression, '', $string);
var_dump($string);
产出:

string '' (length=0)
是的,这将删除带有rgb(…)值的字符串。它匹配背景颜色:和分号之间的任何内容

然而,要认识到这方面的局限性。它只会取代

background-color: value;
如果HTML代码可能使用background:#ffffff,它将失败。

code:
$s='text';
$s=preg_replace(“~背景色:.+?;\s*~”,“$s”);
echo$s;
输出:
文本

删除所有内容/将值从背景色更改为;而这两者之间的价值并不重要
background-color: value;
<span style="color: red; font: Arial;">text</span>