gpt4 book ai didi

php - 在哪里可以找到 PHP 音译器(国际)的 ID 或规则列表?

转载 作者:可可西里 更新时间:2023-10-31 23:06:44 27 4
gpt4 key购买 nike

Transliterator::listIDs()将列出 ID,但显然它不是完整列表。

example from this page ,ID 看起来像:

Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC; [:Punctuation:] Remove; Lower();

这有点奇怪,因为 ID 应该是唯一的。这看起来更像是一条规则,但如果我将它传递给 createFromRules 方法,它就不起作用了:)

无论如何,我正在尝试从字符串中删除任何标点符号,破折号 (-) 或特定列表中的字符除外。

你知道这是否可能吗?或者是否有一些文档可以更好地解释音译器的语法?

最佳答案

Transliterator::listIDs() 的 ID是“基本ID”。您给出的示例是“复合 ID”。你可以看到 ICU docs on this .

您还可以使用 Transliterator::createFromRules() 创建自己的规则.

可以看一下预定义的规则:

<?php
$a = new ResourceBundle(NULL, sprintf('icudt%dl-translit', INTL_ICU_VERSION), true);

foreach ($a['RuleBasedTransliteratorIDs'] as $name => $v) {
$file = @$v['file'];
if (!$file) {
$file = $v['internal'];
echo $name, " (direction $file[direction]; internal)\n";
} else {
echo $name, " (direction: $file[direction])\n";
echo $file['resource'];
}
echo "\n--------------\n";
}

格式化后,结果看起来像this .

关于php - 在哪里可以找到 PHP 音译器(国际)的 ID 或规则列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16635868/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com