$aa="我爱你ABC123";
我要把它拆一个一个的单字,然后每个字去数据库查拼音。
由于php对汉字是三个字节的,只能直接像Aps简易用len计长,再循环。谁有现成的函数处理中英文字符串转成逐字的数组?$aa="我爱你ABC123";
转成
$array=array('我','爱','你','A','B','C','1','2','3'")
我要把它拆一个一个的单字,然后每个字去数据库查拼音。
由于php对汉字是三个字节的,只能直接像Aps简易用len计长,再循环。谁有现成的函数处理中英文字符串转成逐字的数组?$aa="我爱你ABC123";
转成
$array=array('我','爱','你','A','B','C','1','2','3'")
$str="我爱你ABC123";
$strlen=strlen($str);
for($i=0;$i<$strlen;$i++){
if(ord(substr($str,$i,1))>0xa0){
echo substr($str,$i,2)."<br>";
$i++ ;
}
else{
echo substr($str,$i,1)."<br>";
}
}
$str = '我爱你ABC123';
$len = mb_strlen($str,'utf-8');
$arr = array();
for($i=0;$i<$len;$i++)
{
$arr[$i] = mb_substr($str,$i,1,'utf-8');
}
//$arr就是要求的数组
print_r(getStrArray($str));
function getStrArray($str)
{
$a = array();
for ($i=0; $i< strlen($str); $i++)
{
$x = substr($str,$i,1);
if (ord($x)>127)
{
$a[$i]= substr($str,$i,2);
$i=$i+1;
}
else
{
$a[$i]= $x;
}
}
return $a;
}
$str="我爱我abc";
$len=strlen($str);
//echo $len;
$strlen=$len;
for($i=0;$i<$len;$i++)
{
if(ord($str[$i])>128)
{
echo substr($str,$i,2);
$i++;
echo "<br>";
}
else
{
echo substr($str,$i,1);
echo "<br>";
}
}
//echo "<br/>".$strlen; ?>