下面的代码中存在一个问题,如果我提供的输入参数全部都是汉字(繁体和简体并存),没有其他任何ASCII码,比如空格,数字,英文字母,等号,等等,就可以正确的将给定字符串中的繁体转换成简体,但是如果我加入了ASCII码,结果就不正常了。
知道如何解决的请回答,在线等,第一个解决的马上给100分!!!<?php
$charPYStr ="啊阿埃挨哎唉哀皑癌蔼矮艾碍爱";$ftPYStr = "啊阿埃挨哎唉哀皚癌藹矮艾礙愛";
function ttt($source)
{
global $ftPYStr,$charPYStr;
$str="";
for($i=0;$i<strlen($source);$i=$i+2){
$pos = strpos($ftPYStr, substr($source,$i,2));
if($pos!=false)
$str .= substr($charPYStr,$pos,2);
else
$str .= substr($source,$i,2);
}
return $str;
}$cc1 = "啊阿埃";
$cc2 = "<br/>啊 阿埃 ";
echo $cc1."<br>";
echo ttt($cc1);echo $cc2."<br>";
echo ttt($cc2);?>
知道如何解决的请回答,在线等,第一个解决的马上给100分!!!<?php
$charPYStr ="啊阿埃挨哎唉哀皑癌蔼矮艾碍爱";$ftPYStr = "啊阿埃挨哎唉哀皚癌藹矮艾礙愛";
function ttt($source)
{
global $ftPYStr,$charPYStr;
$str="";
for($i=0;$i<strlen($source);$i=$i+2){
$pos = strpos($ftPYStr, substr($source,$i,2));
if($pos!=false)
$str .= substr($charPYStr,$pos,2);
else
$str .= substr($source,$i,2);
}
return $str;
}$cc1 = "啊阿埃";
$cc2 = "<br/>啊 阿埃 ";
echo $cc1."<br>";
echo ttt($cc1);echo $cc2."<br>";
echo ttt($cc2);?>
function ttt($source)
{
global $ftPYStr,$charPYStr;
$str="";
for($i=0;$i<strlen($source);){
$pos = strpos($ftPYStr, substr($source,$i,2));
if($pos!=false)
{
$str .= substr($charPYStr,$pos,2);
$i += 2;
}
else
{
$str .= substr($source,$i,1);
$i +=1;
}
}
return $str;
}
header("Content-Type: text/html; Charset=utf-8");$charPYStr ="啊阿埃挨哎唉哀皑癌蔼矮艾碍爱";$ftPYStr = "啊阿埃挨哎唉哀皚癌藹矮艾礙愛";$a = preg_split('//u', $charPYStr, -1, PREG_SPLIT_NO_EMPTY);
$b = preg_split('//u', $ftPYStr, -1, PREG_SPLIT_NO_EMPTY);
//preg_split这个应用需要php5 & unicode...否则需要变换思路$cc1 = "啊阿爱爱";
$cc2 = "<br/>啊爱 阿爱 ";
echo $cc1."<br>";
echo str_replace($a, $b, $cc1);echo $cc2."<br>";
echo str_replace($a, $b, $cc2);?>
header("Content-Type: text/html; Charset=gb2312");$charPYStr ="啊阿埃挨哎唉哀皑癌蔼矮艾碍爱";$ftPYStr = "啊阿埃挨哎唉哀皚癌藹矮艾礙愛";$a = preg_split('//u', $charPYStr, -1, PREG_SPLIT_NO_EMPTY);
$b = preg_split('//u', $ftPYStr, -1, PREG_SPLIT_NO_EMPTY);
//preg_split这个应用需要php5 & unicode...否则需要变换思路$cc1 = "啊阿爱爱";
$cc2 = "<br/>啊爱 阿爱 ";
echo $cc1."<br>";
echo str_replace($a, $b, $cc1);echo $cc2."<br>";
echo str_replace($a, $b, $cc2);?>
借前一下
不认为用preg_split后,程序会有多快