以前、ASCII やオンラインで見つけた他の文字を使用して文字を置換しようとしたことがありますが、不可解な問題がたくさん見つかりました。最後に、次の文字置換方法に切り替えました。これまでに見つけたすべての全角文字をリストし、1 つずつ置換します
コードは次のとおりです。 *** 全角文字を半角に変換 *
* @param string $str
* @return string
*/
public function Sbc2Dbc($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',
'('=>'( ', ')'=>')', '〔'=>'(', '〕'=>')', '['=>[' ,']'=>'] ', '〖'=>'[', '〗'=>']', '"'=>'"', '"'=>'"' 、
'''=>''、'''=>'''、'{'=>'{'、'}'=>'}'、'《'=>'< ;','》'=>'>','%'=>'%','+'=>'+','—'=>'-','-'=> '-',
'~'= >'~',':'=>':', '。 '=>'.', ', '=>',', ', '=>',', ', '=>',', ';'=>';', '? '=>'?'、'! '=>'!', '…'=>'-',
'‖'=>'|', '"'=>'"', '''=>'`', ' ''=>'`', '|'=>'|', '〃'=>'"','=>' ', '×'=>*', ' ̄' =>'~', '. '=>'.', '*'=>'*',
'&'=>'&',''<', ' >'=>'>'、'$'=>'$'、'@'=>'@'、'^'=>'^'、'_'=>'_'、 '"'=>'"'、'¥'=>'$'、'='=>'='、
'\'=>'\'、'/'=>'/'
);
strtr($str, $arr)を返す
http://www.bkjia.com/PHPjc/730060.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/730060.html技術記事以前、ASCII やオンラインで見つけた他の文字を使用して文字を置換しようとしたことがありますが、不可解な問題がたくさん見つかりました。最後に、これまでに見つかったすべての全角文字をリストした次の文字置換方法に切り替えました...