目前在L4你不能从西里尔字符串中获取slu ..在L3中有一个ascii数组。我在哪里以及如何添加此数组/能力来创建一个来自西里尔字符串的slug?
修改
库https://github.com/cocur/slugify是一个不错的选择,但我决定在L4中使用来自L3方法和ascii数组的自定义Slug库。现在我在L4工作的Slug制造商就像L3一样。
答案 0 :(得分:2)
您可以通过编辑器安装此库(https://github.com/cocur/slugify)并使用。
它非常易于安装和使用。
答案 1 :(得分:0)
当我使用阿拉伯语时,我遇到了这个问题,所以我做了以下功能,为我解决了这个问题。
function make_slug($string = null, $separator = "-") {
if (is_null($string)) {
return "";
}
// Remove spaces from the beginning and from the end of the string
$string = trim($string);
// Lower case everything
// using mb_strtolower() function is important for non-Latin UTF-8 string | more info: http://goo.gl/QL2tzK
$string = mb_strtolower($string, "UTF-8");;
// Make alphanumeric (removes all other characters)
// this makes the string safe especially when used as a part of a URL
// this keeps latin characters and arabic charactrs as well
$string = preg_replace("/[^a-z0-9_\s-ءاأإآؤئبتثجحخدذرزسشصضطظعغفقكلمنهويةى]/u", "", $string);
// Remove multiple dashes or whitespaces
$string = preg_replace("/[\s-]+/", " ", $string);
// Convert whitespaces and underscore to the given separator
$string = preg_replace("/[\s_]/", $separator, $string);
return $string;
}
此功能仅解决阿拉伯语的问题,如果您想解决西里尔语或任何其他语言的问题,您需要在这些ءاأإآؤئبتثجحخدذرزسشصضطظعغفقكلمنهويةى
旁边或代替这些{{1}}添加西里尔字符(或其他语言的字符)现有的阿拉伯字符。