为什么Yii2中的Inflector :: slug会从西里尔语生成错误的拉丁字符串?

时间:2017-11-30 04:35:41

标签: php yii2 slug

Inflector::slug中的

Yii2从西里尔语生成不正确的字符串。

示例:автоматизация - > avtomatizacia,但必须是avtomatizaciya; зачислить - > zacislit,但必须是zachislit。如何解决?

我将此用于SEO网址。如果搜索引擎无法识别正确的关键字以改善我网站的搜索引擎优化结果,这会影响吗?

1 个答案:

答案 0 :(得分:0)

因为它使用ISO 9来处理cyrillic并且显然是ISO 9:1995版本。 现在,当我把:

echo \yii\helpers\Inflector::transliterate('автоматизация', 'Cyrillic;  Any-Latin');
echo yii\helpers\Inflector::transliterate('зачислить', $a);

我明白了:

avtomatizaciâ 
začislitʹ

与ISO 9:1995相同。 Slug方法将ASCII字符转换为charcter,因此例如č变为c。

您仍然可以根据需要执行str-replace。 或者你可以用另一种方式进行音译like this