沃梦达 / 编程问答 / php问题 / 正文

插件URL生成函数覆盖Ç

Slug URL generation function overriding the #199;(插件URL生成函数覆盖#199;)

本文介绍了插件URL生成函数覆盖Ç的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用上面的函数从帖子标题创建URL插件,问题是ç字符没有转换为c。它实际上正在被函数重写。

示例帖子标题:Coração de PelúCIA

生成的弹头:coraao-de-pelucia

我如何修复此函数以生成插件:Coracao-de-Pelucia

function generate_seo_link($input,$replace = '-',$remove_words = true,$words_array = array())
{
    //make it lowercase, remove punctuation, remove multiple/leading/ending spaces
    $return = trim(ereg_replace(' +',' ',preg_replace('/[^a-zA-Z0-9s]/','',strtolower($input))));

    //remove words, if not helpful to seo
    //i like my defaults list in remove_words(), so I wont pass that array
    if($remove_words) { $return = remove_words($return,$replace,$words_array); }

    //convert the spaces to whatever the user wants
    //usually a dash or underscore..
    //...then return the value.
    return str_replace(' ',$replace,$return);
}

推荐答案

您应该使用图标模块和如下所示的函数进行转换:

function url_safe($string){
    $url = $string;
    setlocale(LC_ALL, 'pt_BR'); // change to the one of your language
    $url = iconv("UTF-8", "ASCII//TRANSLIT", $url);  
    $url = preg_replace('~[^\pL0-9_]+~u', '-', $url);
    $url = trim($url, "-");
    $url = strtolower($url);
    return $url;
}

这篇关于插件URL生成函数覆盖Ç的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:插件URL生成函数覆盖Ç

基础教程推荐