Heim  >  Artikel  >  php教程  >  php 把全角字符转换成半角

php 把全角字符转换成半角

WBOY
WBOYOriginal
2016-06-06 20:08:121420Durchsuche

经常遇到用户把英文字符或者标点符号写成了全角,有时候会导致系统无法识别,所以应该先把全角的字符全部转换成正常的半角,减少问题存在。其实原理很简单,也很笨吧,就是把所有的全角字符替换成对应的半角字符,摘自ecshop开源代码里面。 /** * 将一个字串

经常遇到用户把英文字符或者标点符号写成了全角,有时候会导致系统无法识别,所以应该先把全角的字符全部转换成正常的半角,减少问题存在。其实原理很简单,也很笨吧,就是把所有的全角字符替换成对应的半角字符,摘自ecshop开源代码里面。

/**
 *  将一个字串中含有全角的数字字符、字母、空格或'%+-()'字符转换为相应半角字符
 *
 * @access  public
 * @param   string       $str         待转换字串
 *
 * @return  string       $str         处理后字串
 */
function make_semiangle($str)
{
    $arr = array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4',
                 '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9',
                 'A' => 'A', 'B' => 'B', 'C' => 'C', 'D' => 'D', 'E' => 'E',
                 'F' => 'F', 'G' => 'G', 'H' => 'H', 'I' => 'I', 'J' => 'J',
                 'K' => 'K', 'L' => 'L', 'M' => 'M', 'N' => 'N', 'O' => 'O',
                 'P' => 'P', 'Q' => 'Q', 'R' => 'R', 'S' => 'S', 'T' => 'T',
                 'U' => 'U', 'V' => 'V', 'W' => 'W', 'X' => 'X', 'Y' => 'Y',
                 'Z' => 'Z', 'a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd',
                 'e' => 'e', 'f' => 'f', 'g' => 'g', 'h' => 'h', 'i' => 'i',
                 'j' => 'j', 'k' => 'k', 'l' => 'l', 'm' => 'm', 'n' => 'n',
                 'o' => 'o', 'p' => 'p', 'q' => 'q', 'r' => 'r', 's' => 's',
                 't' => 't', 'u' => 'u', 'v' => 'v', 'w' => 'w', 'x' => 'x',
                 'y' => 'y', 'z' => 'z',
                 '(' => '(', ')' => ')', '〔' => '[', '〕' => ']', '【' => '[',
                 '】' => ']', '〖' => '[', '〗' => ']', '“' => '[', '”' => ']',
                 '‘' => '[', '’' => ']', '{' => '{', '}' => '}', '《' => ' '>',
                 '%' => '%', '+' => '+', '—' => '-', '-' => '-', '~' => '-',
                 ':' => ':', '。' => '.', '、' => ',', ',' => '.', '、' => '.',
                 ';' => ',', '?' => '?', '!' => '!', '…' => '-', '‖' => '|',
                 '”' => '"', '’' => '`', '‘' => '`', '|' => '|', '〃' => '"',
                 ' ' => ' ');
    return strtr($str, $arr);
}
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:简单的聊几句Nächster Artikel:排序算法的分类