$mode = 'zhuan';function my_encode()
{
if($mode == 'zhuan')
{
$mode = 'huan';
$value = $_POST['obj']; //正则表达式处理略 echo '<input type="button" name="btn" value="'.'还原'.'" />'
}
else
{
$mode = 'zhuan';
$value = $_POST['obj']; //unescape处理
echo '<input type="button" name="btn" value="'.'转化'.'" />'
} echo '<input type="text" name="obj" value="'.$value.'" />';
}
$value = "中国";
$mode = "zhuan";
if($mode=="zhuan")
{
$value = preg_replace("/(%u)(\w{4})/i","\\u$2", escape($value));
echo preg_replace("/\\\\u/i","%u",$value);
}
else
{
echo unescape(preg_replace("/\\\\u/i","%u",$value));
}function escape($str)
{
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v)
{
if(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v);
else
$ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v));
}
return join("",$ar);
}function unescape($str)
{
$str = rawurldecode($str);
preg_match_all("/(?:%u.{4})|.+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u" && strlen($v) == 6)
$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));
}
return join("",$ar);
}
Notice: iconv() [function.iconv]: Detected an illegal character in input string in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\csdn\csdntest.php on line 23Notice: iconv() [function.iconv]: Detected an illegal character in input string in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\csdn\csdntest.php on line 23
%u6d93%u%u
咋办