【问题标题】:Wordpress remove_accents() not working when getting value from XML从 XML 获取值时,Wordpress remove_accents() 不起作用
【发布时间】:2016-07-06 04:48:53
【问题描述】:

我有特殊问题。我正在使用 WP All Import Pro 插件将 XML 导入 Wordpress 帖子。

我需要使用 WordPress 函数 remove_accents() 去除捷克口音 (ěščřžýáíé) 以进行后期处理。

如果我手动设置变量(忽略 $mytitle),一切正常。

function seofriendly_slug($mytitle) {
    $finalslug = remove_accents("Test string ěščřžýáíé");
    return $finalslug;
}

OUTPUT: Test string escrzyaie

但如果我使用来自 XML (utf8) 的变量 $mytitle:

[seofriendly_slug({PRACOVISTE[1]/@nazev})]

变量设置得当,但 remove_accents 不起作用:

function seofriendly_slug($mytitle) {
    $finalslug = remove_accents($mytitle);
    return $finalslug;
}

OUTPUT: Test string ěščřžýáíé

最后一条信息:当我使用 mb_detect_encoding($mytitle) 时,输出是“ASCII”,但在 XML 标头中是 UTF-8。

【问题讨论】:

    标签: php xml wordpress import


    【解决方案1】:

    我从 WorkScout 主题创建者 - PureThemes 获得解决方案。

    html_entity_decode($prepareslug, ENT_QUOTES, 'UTF-8');
    

    最终代码:

    function seofriendly_slug($nazev,$doplnek,$obec) {
        if ($doplnek ==NULL) { $titulek = $nazev; } 
            else { $titulek = $doplnek; }
        $prepareslug = $titulek."-".$obec;
        $prepareslug = html_entity_decode($prepareslug, ENT_QUOTES, 'UTF-8');
        $finalslug = sanitize_title($prepareslug);
        return $finalslug;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 2015-02-12
      • 2018-05-31
      相关资源
      最近更新 更多