我需要将字体大小的pt值转换为字体大小的px值。 由于我有一个 96dpi 的屏幕,我需要将 pt 值放大 1.33,以便 px 值在屏幕上的大小与 pt 值相同。 到目前为止,我有
$pattern = "/('d+)pt/";
$replacement = "$1px";
$data = preg_replace($pattern, $replacement, $data);
但这只是将"pt"替换为"px"。替换行需要类似于 $replacement = "(1.33*$1)px";
我该怎么做?
你需要使用preg_replace_callback
函数。
$data = "5pt";
$pattern = "~('d+)pt~";
$data = preg_replace_callback($pattern, function($m) {
return 1.33*$m[1]."px";
}, $data);
echo $data;
输出:
6.65px