Inflector::slug
中的 Yii2
从西里尔语生成不正确的字符串。
示例:автоматизация
- > avtomatizacia
,但必须是avtomatizaciya
; зачислить
- > zacislit
,但必须是zachislit
。如何解决?
我将此用于SEO网址。如果搜索引擎无法识别正确的关键字以改善我网站的搜索引擎优化结果,这会影响吗?
答案 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。