Php常见问题总结(2)_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:使用Xdebug优化你的php程序
我本地使用的是xampp服务器套件,版本是1.64,发现里面代的php_xdebug.dll竟然无法使用.应该是xdebug版本和当前的php版本(5.24)版本不符合。去下载了相应的版本发现可以正常工作了。在php.ini里

4:为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失

<?php
$Var="hello php";//修改为$Var=" hello php";试试得到什么结果
$post= "receive.php?Name=".$Var;
header("location:$post");
?>

receive.php的内容:

<?PHP
Echo "<pre>";
Echo $_GET["Name"];
Echo "</pre>";
?>

正确的方法是

<?php
$Var="hello php";
$post= "receive.php?Name=".urlencode($Var);
header("location:$post");
?>

在接收页面你不需要使用Urldecode(),变量会自动编码.

5:如何截取指定长度汉字而不会出现以"?>"结尾,超出部分以"..."代替

一般来说,要截取的变量来自Mysql,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.

<?PHP
$str="这个字符好长呀,^_^";
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
Echo "$Short_Str";
Function csubstr($str,$start,$len)
{
$strlen=strlen($str);
$clen=0;
for($i=0;$i<$strlen;$i ,$clen )
{
if ($clen>=$start $len)
break;
if(ord(substr($str,$i,1))>0xa0)
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,2);
$i ;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,1);
}
}

return $tmpstr;
}
Function showShort($str,$len)
{
$tempstr = csubstr($str,0,$len);
if ($str<>$tempstr)
$tempstr .= "..."; //要以什么结尾,修改这里就可以.

return $tempstr;
}

分享:php4和php5单态模式(Singleton Pattern)写法
单态模式(Singleton Pattern) 就是一个类Class只有一个实例存在。(Ensure a class only has one instance, and provide a global point of access to it.) 这个是php5的写法。

来源:模板无忧//所属分类:PHP教程/更新时间:2008-08-22
相关PHP教程