【问题标题】:replace awkward characters in string php替换字符串php中的尴尬字符
【发布时间】:2010-12-15 22:27:26
【问题描述】:

是否有一个字符串函数可以替换所有尴尬的字符,比如

你好变成你好,

或者我需要下面的 strtr 函数,并将所有尴尬的字符都放在...?

$addr = strtr($addr, "äåö", "aao"); 

【问题讨论】:

  • 您能否更准确地说明“尴尬字符”的含义?

标签: php string special-characters replace


【解决方案1】:

我假设“尴尬的字符”是指任何非 ASCII 字符。如果是这样,那就试试iconv

$addr = iconv('UTF-8', 'ASCII//TRANSLIT', $addr);

第一个参数是输入字符串的字符集。

$addr = "Hellö";
echo $addr . "\n";
$addr = iconv('UTF-8', 'ASCII//TRANSLIT', $addr);
echo $addr . "\n";

输出

你好 你好

ideone查看它。

【讨论】:

  • 不要这样做...如果文本包含有效的 UTF-8,它也会被转换
  • @ajrael:这样做的目的是获取无效的 ASCII 字符并尽可能将它们转换为有效的 ASCII。
  • 是的,与此同时,它还将有效的 UTF-8 替换为 ?。但是,这取决于 OP 环境设置。
  • 那么安全吗...?该怎么办...?问候!
  • 如果您的页面编码是iso-8859-*,请继续
猜你喜欢
  • 2018-03-19
  • 2018-10-27
  • 2018-11-24
  • 1970-01-01
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多