我正在尝试为 imagemagick 提供文本,它给了我一个曲线球:
Bần chỉ là một anh nghèo
根据http://www.imagemagick.org/Usage/text/#unicode,我需要做的就是将扩展字符包装在 \x{} 中。使用 json_encode,我可以轻松接近:
print json_encode("Bần chỉ là một anh nghèo"); // Output is "B\u1ea7n ch\u1ec9 l\u00e0 m\u1ed9t anh ngh\u00e8o"
现在,我需要做的就是把它从"B\u1ea7n ch\u1ec9 l\u00e0 m\u1ed9t anh ngh\u00e8o"
到"B\x{1ea7}n ch\x{1ec9} l\x{00e0} m\x{1ed9}t anh ngh\x{00e8o}"
关于 PHP 中的正则表达式有什么建议吗?
编辑:根据 icktoofay 的反馈,我认为 RegEx 不是正确的解决方案。我想我需要以不同的方式执行我的命令。我的代码基本上是在做:
$cmd = "convert -fill black -font Oswald -pointsize 72 label:'" . addslashes($text) . "' logo.png"
exec($cmd);
也可以在这里打开任何可能的安全漏洞。我认为addlashes会做到这一点,但是......