1.<?=$arr[0]?> 后面加空格
2.
a.
if (eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) {
  echo "您的 E-Mail 通过初步检查";
}b.ereg("^[0-9a-z]+$"c.eregi("^[0-9a-z!@#$%\^&\*\(\)]+$"d.ereg("^[^0-9]+$"

解决方案 »

  1.   

    我答一下第一个问题.
    你那个东东出现?是因为他取了一个一半的字符.你可以根据判断高位码来判断还有一种方法就是用
    /*_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
    mb_substr字符的截取,不会出现乱码.他是一个一个字符算的.需要加载mbstring在php.ini中
    _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-*/
    echo mb_substr("啊方腊qwerq十分可;",0,5);用这个东东不会出你让的那个什么问题.很好用.后几个问题.上面那位是大腕不敢多说了.
    学习学习.呵呵.
      

  2.   

    不懂qiushuiwuhen的.<?=$arr[0]?> 后面加空格,怎麼像是個數組呀?to:anziqi,我用的別人的主機,不能亂改的,你說說高位碼怎麼判斷.
      

  3.   

    a.
    if (eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$email)) {
      echo "您的 E-Mail 通过初步检查";
    }
    现在的国际域名有.info了,所以要改成4啦 :)
      

  4.   

    function m_substr($str,$start,$len)
    {
    function findPos($str,$start,$len)
    {
    $pos=0;$pre=0;
    for($i=$start;$pos<$len;$i++)
    {
    $t=ord(substr($str,$i,1))>=161;
    if(($t&&!$pre)) $pre=1;
    else{ $pre=0;$pos++; }
    }
    return $i;
    }
      $startPos=findPos($str,0,$start);
      $endPos=findPos($str,$startPos,$len);
      return substr($str,$startPos,$endPos-$startPos);
    }用我刚写的这个函数截取看看,效果应该同mb_substr,没有经过严格测试
    格式:
    m_substr($str,$start,$offN);
    $start是截取开始位置,$offN是截取长度
    注意这里不支持负数参数
      

  5.   

    测试了一下,修改如下<?function findPos($str,$start,$len)
    {
    $pos=0;$pre=0;
    for($i=$start;$pos<$len;$i++)
    {
    $t=ord(substr($str,$i,1))>=128&&ord(substr($str,$i+1,1))>=64;
    if($t){
    if($pre){
    $pre=0;
    $pos++;
    }else $pre=1;
    }else{
    $pre=0;
    $pos++;
    }
    }
    return $i;
    }
    function m_substr($str,$start,$len)
    {
      $startPos=findPos($str,0,$start);
      $endPos=findPos($str,$startPos,$len);
      return substr($str,$startPos,$endPos-$startPos);
    }
    $str="兀123佔Abc";
    for($i=0;$i<strlen($str);$i++)echo m_substr($str,$i,1)."<br>";
    ?>
      

  6.   

    临时写了一个
    function m_substr($str,$start,$len){
    /**********(qiushuiwuhen 2002-10-10)**********/
    preg_match_all("/[\\x80-\\xff]?./",$str,$arr);
    return implode(array_slice($arr[0],$start,$len),"");
    }
      

  7.   

    多谢大虾指正preg_match_all("/[\\x80-\\xff]?./",$str,$arr);
    return implode(array_slice($arr[0],$start,$len),"");
    用的真是太高明了
      

  8.   

    精简了一下:
    <?
    function findPos($str,$start,$len)
    {
    for($pos=0,$i=$start;$pos<$len;$i++,$pos++)
    if(ord(substr($str,$i,1))>=128&&ord(substr($str,$i+1,1))>=64) $i++;
    return $i;
    }
    function m_substr($str,$start,$len)
    {
      $startPos=findPos($str,0,$start);//用到上面的函数
      $endPos=findPos($str,$startPos,$len);
      return substr($str,$startPos,$endPos-$startPos);
    }//eg:
    $str="a的中人国d,dfa;/人都是sdfadsfafd";
    echo m_substr($str,2,4);
    ?>