我正在使用此函数返回一个以.5结尾的数字作为html½,因此6.5将变为6½但由于某种原因15.5出现为½½,应该怎么样?
function Fractionalise($value) {
if ($value=="0.5") {
$value = "½";
}
else {
if (preg_match("/\.5[0]{0,}$/", $value)) $value = preg_replace("/.5[0]{0,}/", "½", $value);
}
return $value;
}
答案 0 :(得分:0)
我认为在preg_replace函数中你忘了一个\。
应该是
preg_replace("/\.5[0]{0,}/", "½", $value)
答案 1 :(得分:0)
如果你不逃避.
,那么它意味着"匹配任何角色"。小错字,但变化很大。
您可以简化代码
function Fractionalise($value) {
return preg_replace("/\.50*/", "½", $value);
}