我有一个包含许多分数的字符串,如 1/2、1/4 等。我想用它们的 Unicode 等价物替换它们。
我意识到我可以把它们捡起来
/\s(\d+)\/(\d+)\s/
我将如何用它们的 Unicode 等价物替换它们?我可能可以将数字包装起来span
并用 CSS 做类似的事情,但我想知道是否有一种简单的方法来转换它们。
我需要将正则表达式 1:1 映射到 Unicode 字符吗?
以这种方式显示它会更好。不是每个人都可能拥有您需要的那些 Unicode 字体。
echo preg_replace ( '/\b(\d+)\/(\d+)\b/', '<sup>$1</sup>/<sub>$2</sub>', $fraction );
或者:
echo preg_replace ( '/\b(\d+)\/(\d+)\b/', '<sup>$1</sup>⁄<sub>$2</sub>', $fraction );
小数斜线⁄
看起来像 ⁄。
如果您需要显示大分数,这仍然是最佳解决方案:2567 ⁄ 5798
鉴于只有少数几个,您可以像这样创建一个映射:
$fractions = array(
'1/4' => '¼', '1/3' => '⅓',
'3/8' => '⅜', ...
);
我想说这可能是最简单的方法......请记住,许多人不会安装可以显示所有字体的字体。