yii 2阿拉伯语的缓慢行为

时间:2015-11-08 16:30:11

标签: yii2 arabic slug

我使用了Yii Sluggable Behavior,它适用于英语,但如果我在名称文本字段中编写阿拉伯语并创建一个新条目,则数据库中slug列的值为空。

<body>

有人知道如何支持阿拉伯语和其他语言吗?如果没有,是否有扩展工作?

提前致谢。

1 个答案:

答案 0 :(得分:2)

创建一个slug通常涉及使用正则表达式来排除与普通URL格式不兼容的不需要的字符。

preg_replacepreg_match中使用的正则表达式通常用于支持英语slug,因此不包括所有其他类型的字符,如阿拉伯语。

我建议你用适当的字符范围编写自己的段塞函数,包括阿拉伯字符。像这样:

$slug = preg_replace("/[^a-zA-Z0-9ء-ي _\-]/u", "", $title);

这将排除除a-z,A-Z,0-9和阿拉伯字母范围之外的所有字符。它还会保留下划线,短划线和空格,如果需要,可以在以后替换它们。