[英]PHP regex combine capturing group variable with a number
例如,我要替换: margin:0px;
margin:0;
这是我想出的正则表达式: $data = preg_replace('/([^\\d])0px/', '$1 0', $data);
在此示例中, $1
代表:
。
现在如何在不将php解释为另一个捕获组变量且不像上面那样使用空格的情况下将$1
与一个数字组合?
您可以使用'${1}0'
。 有关更多信息,请参见有关字符串的PHP文档 。
preg_replace
文档也对此进行了讨论。
顺便说一句,您可以改用此正则表达式(在5.2.4及更高版本中):
$data = preg_replace('/\D0\Kpx/', '', $data);
\\D
匹配等于[^\\d]
不是数字的任何内容。
\\K
要求匹配之前的所有内容,但将其排除在匹配之外。 因此,您不必存储模式的第一部分并将其包括在替换中。
您是否正在尝试做这样的事情?
<?php
function replace_px($val, $new_val, $str) {
return $new_str = str_replace($val . "px", $new_val, $str);
}
$str = "margin:0px;";
echo replace_px(0, 0, $str);
?>
//输出
margin:0;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.