Php 如何从数字中为特定数字添加样式?
在此示例1中: 我们将786涂成红色,78位数字涂成红色,后面是00普通颜色,6位数字涂成红色(78006) 这里是我想要的链接:Php 如何从数字中为特定数字添加样式?,php,mysql,Php,Mysql,在此示例1中: 我们将786涂成红色,78位数字涂成红色,后面是00普通颜色,6位数字涂成红色(78006) 这里是我想要的链接: 实现这一点的最佳方法是使用正则表达式,例如: [$number=$row['plate_number'];//it will have many numbers ex:78666,78686,78006 ex:$number="78666"; // random sample in this ex:first 786 digit in red color an
实现这一点的最佳方法是使用正则表达式,例如:
[$number=$row['plate_number'];//it will have many numbers ex:78666,78686,78006
ex:$number="78666"; // random sample
in this ex:first 786 digit in red color and remaining 66 in normal color(78666)
ex1:$number="78006"; // random sample
$string=preg#u replace('#([0-9]*?)(7)([0-9]*?)(8)([0-9]*?)(6)([0-9]*?)#','$1$2$3$4$5$6$7',$string);
此正则表达式将匹配:
([0-9]*?)
:零个或多个数字字符,不替换它们(7)
:第一次出现7
,将其替换为7
([0-9]*?)
:零个或多个数字字符,不替换它们(8)
:第一次出现8
,将其替换为8
([0-9]*?)
:零个或多个数字字符,不替换它们(6)
:第一次出现6
,将其替换为6
([0-9]*?)
:零个或多个数字字符,不替换它们7
、8
和6
,这将不起任何作用
编辑:为每个
[0-9]*
添加了?
,以使量词不发音(如上所述)到目前为止您尝试了什么?请发布您的代码。按照@Oliver所说的,您需要的输出是什么(Excel、HTML等)?与输出颜色相关的所有规则是什么?在您的问题中,您希望786为红色,其余66为正常颜色。然而在图片中,数字78666是完全红色的。$find=array(“786”)$替换=阵列(“786”)$string1=str_replace($find,$replace,$row['plate_number']);我在这里试过了,但颜色只有786。。。。但是我还需要其他的事件,在图像中这是图像中的一个小错误,78606
返回最后6个红色,而不是另一个。@Shakif So78606
这个代码按照你想要的方式工作?我想你只是不小心在注册表中添加了两次“$1$2$3$4$5$6$7”
。该死的,复制/粘贴。
$string = preg_replace('#([0-9]*?)(7)([0-9]*?)(8)([0-9]*?)(6)([0-9]*?)#', '$1<span style="color: red;">$2</span>$3<span style="color: red;">$4</span>$5<span style="color: red;">$6</span>$7', $string);