提问人: 提问时间:2/3/2020 更新时间:2/3/2020 访问量:265
如何在 PHP 中为给定的语言环境输出适当的引号?
How do I output the appropriate quotation marks for a given locale in PHP?
问:
最近,我一直在疯狂地研究语言环境,并为每个语言环境/语言组合输出正确的日期/时间格式、数字格式、金钱和格式、百分号等。我没有自己弄清楚并硬编码它,这需要我花费数百年的时间,而是使用 PHP 的内置类,例如 NumberFormatter: https://www.php.net/NumberFormatter 以及该页面上右侧列表中的其他一些类。
然而,后来我开始思考引号,以及我一直知道它们在语言和地区之间有很大差异。因此,我在网上搜索了整个班级,但奇怪的是,没有发现任何与输出报价相关的内容。
那么,他们只是忽略了这一点吗?还是我只是没有找到它?如果你浏览这篇维基百科文章,你会看到有多少个不同的引号/样式:https://en.wikipedia.org/wiki/Quotation_mark
就像我的应用程序现在根据语言环境正确输出“所有内容”一样,我现在也希望能够以正确的方式输出报价。对我来说,仅仅使用标准的英语风格已经不够好了:
"This is a quote: 'And this is a nested quote.'"
对于存储在数据库中的实际“内容字符串”,我将在内部使用上述样式,但是当我实际为给定的区域设置输出它时,我希望它变为(例如,对于德国/德语):
‚This is a quote: „And this is a nested quote.“‘
从本质上讲,我想要这样的东西(这是根据用于 NumberFormatter 的语法组成的):
$a = new QuoteFormatter( 'de_DE', QuoteFormatter::MOSTCOMMON );
echo $a>format('"This is a quote: \'And this is a nested quote.\'"');
它将输出(因为指定了德国/德语):
‚This is a quote: „And this is a nested quote.“‘
请告诉我,在PHP手册的神秘古代卷轴中,有这样的东西存在,我只是找不到它!以前很多次,我发现PHP中的功能已经存在了15-20年,而我从未想过这些功能在那里,并且会为我省去大量的头痛......
答: 暂无答案
评论