2

在波斯尼亚,我们有以下仅在波斯尼亚和克罗地亚以拉丁形式使用的字符,因此我需要将这些字母转换如下:

FROM | TO
  ć  | c
  č  | c
  ž  | z
  š  | s
  đ  | dj

如果使用某种特殊形式的 RegEx 或 utf8_encode/decode 可以做到这一点,那么该信息和适当的示例将非常受欢迎!谢谢大家。

PS - 想在 PHP 中实现这一点!

4

2 回答 2

4

你可以试试这个:

$search = array("ć", "č", "ž", "š", "đ");
$replacement = array("c", "c", "z", "s", "dj");
$new_string = str_replace($search, $replacement, $string);

另外,请查看str_replace

于 2011-12-05T14:31:43.840 回答
2

您可以将其与 iconv 一起使用。

$result = iconv("UTF-8", "ASCII//TRANSLIT", $text);

假设您的输入$text是 utf-8,这将起作用。如果它在 latin-1 中,则使用

iconv("ISO-8859-1", "ASCII//TRANSLIT", $text);

当然,您的 PHP 必须具有iconv扩展名,通常iconv在文件中启用php.ini,但并非总是如此。

于 2011-12-05T14:31:09.037 回答