【问题标题】:Replacing special characters of items in array, PHP替换数组中项目的特殊字符,PHP
【发布时间】:2017-04-15 03:56:11
【问题描述】:

假设我有以下字符串:$string = "Ne, želim ići kući."

然后我用preg_split("/[\s,.]+/",$string) 拆分它,得到一个包含句子中每个单词的数组:Array ( [0] => [1] => e [2] => želim [3] => ići [4] => kući [5] => )

我现在如何(对于每个数组项)将所有特殊字符替换为标准 ascii 字符?

有没有比以下更简单的方法来替换 ć 等字符?

foreach ($array as $element) {
    echo str_replace("ć","c",$element);
    ...
}

或者是否有一个函数可以自己处理整个数组而无需任何 foreach 循环;类似convert_to_ascii($array)

编辑:因为我想省略 for 循环,所以我认为这个问题不是重复标记的。我的问题是关于一个可以自己处理和返回整个数组的函数。

【问题讨论】:

标签: php arrays string ascii non-ascii-characters


【解决方案1】:

恕我直言,完成这项工作的更好方法是安装/启用名为 translit 的原生 PHP 模块。

有关信息,您可以访问pecl translit

启用后,您可以做一些花哨的事情,例如:

echo Transliterator::transliterate('àéô');

你会得到aeo

更多信息,您可以查看here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-06
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 2014-11-03
    • 2021-12-30
    • 2011-04-23
    • 2013-01-24
    相关资源
    最近更新 更多