我想转换html文档中的所有尺寸。 ** px的所有内容都应除以4.因此100px将变为25px。
例如:
<div style="height:100px;"></div>
应该成为
<div style="height:25px;"></div>
这是我写的一个PHP代码。但它不起作用。
$content = "<div style=\"height:100px;\"></div>";
$regex = "#([0-9]*)px#";
$output = preg_replace($regex,"$1/4",$content);
我该怎么办?
答案 0 :(得分:3)
作为preg_replace_callback
的替代方法,您可以使用e
修饰符来评估替换为php:
$content = "<div style=\"height:100px;\"></div>";
$regex = "#([0-9]*)px#e";
$output = preg_replace($regex,"round($1/4).'px'",$content);
答案 1 :(得分:0)
使用http://php.net/manual/en/function.preg-replace-callback.php和这样的回调函数
function divideBy4($m) {
return ceil($m[1]/4);
}
答案 2 :(得分:0)
<?php
$content = "<div style=\"height:100px;\"></div>";
$regex = "#([0-9]*)px#";
$output = preg_replace_callback($regex,
create_function('$matches',
'return ceil($matches[1]/4)."px";'),
$content);
?>
<?php
$content = "<div style=\"height:100px;\"></div>";
$regex = "#([0-9]*)px#";
$output = preg_replace_callback($regex, 'myfunc', $content);
function myfunc($matches){
return ceil($matches[1]/4).'px';
}
?>