1

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);

私はどのように行いますか?

4

3 に答える 3

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);
于 2013-02-03T17:07:52.260 に答える
0

このようなコールバック関数でhttp://php.net/manual/en/function.preg-replace-callback.phpを使用します

function divideBy4($m) {
   return ceil($m[1]/4);
}
于 2013-02-03T17:00:21.540 に答える
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';
}
?>
于 2013-02-03T17:23:11.077 に答える