麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
phpescape 实用修改版
悬赏分:20 - 2007年08月22日

网上流行的那个有点问题 基本不能用 我修改了下 大家帮忙看看还有什么问题了
[php]<?php
function phpescape($str)
{
$sublen=strlen($str);
$retrunString="";
for ($i=0;$i<$sublen;$i++)
{
if(ord($str[$i])>=127)
{
$tmpString=bin2hex(iconv("gb2312","ucs-2",substr($str,$i,2)));
//$tmpString=substr($tmpString,2,2).substr($tmpString,0,2);window下可能要打开此项
if (strlen($tmpString)==1)
{
$retrunString.="%u000".$tmpString;
}
elseif(strlen($tmpString)==2)
{
$retrunString.="%u00".$tmpString;
}
elseif(strlen($tmpString)==3)
{
$retrunString.="%u0".$tmpString;
}
else
{
$retrunString.="%u".$tmpString;
}
$i++;
} else {
$tmpString=dechex(ord($str[$i]));
if (strlen($tmpString)==1)
{
$retrunString.="%0".$tmpString;
}
else
{
$retrunString.="%".$tmpString;
}
}
}
return $retrunString;
}
function phpunescape($str)
{
$str = rawurldecode($str);
preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v)
{
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#") {
$ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}
?>[/php]

提问者:A.I.Rの星祈V   08-22 16:04
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
21 + 57 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM