a:4:{i:11;a:2:{s:1:"k";s:2:"11";s:2:"xx";s:34:"有些女学生和男同学一样地通过了考试";}i:12;a:2:{s:1:"k";s:2:"12";s:2:"xx";s:26:"参加考试的女学生多于男同学";}i:13;a:2:{s:1:"k";s:2:"13";s:2:"xx";s:22:"半数以上的学生都及格了";}i:14;a:2:{s:1:"k";s:2:"14";s:2:"xx";s:55:"考试不及格的是男生还是女生呢?是占少数的一种(性别的)学生";}}
这是我从MySql里查出来的一个字段,是试题的选项,貌似是个数组,我现在只想要汉字的部分,请问高手怎么能取出来,这是一条记录,数据库是别人设计的,不能改,表里是TEXT,所以只能是把我需要的汉字分离出来,请高手指教,在线等答案

解决方案 »

  1.   

    $s = <<< TPL
    a:4:{i:11;a:2:{s:1:"k";s:2:"11";s:2:"xx";s:34:"有些女学生和男同学一样地通过了考试";}i:12;a:2:{s:1:"k";s:2:"12";s:2:"xx";s:26:"参加考试的女学生多于男同学";}i:13;a:2:{s:1:"k";s:2:"13";s:2:"xx";s:22:"半数以上的学生都及格了";}i:14;a:2:{s:1:"k";s:2:"14";s:2:"xx";s:55:"考试不及格的是男生还是女生呢?是占少数的一种(性别的)学生";}}
    TPL;$ar = unserialize($s);print_r($ar);
      

  2.   

    baidu,google搜一下,有不少的。
    我贴一段出来,只支持UTF-8function getChinese($string) 

    $tmpstr = ''; 
    $strlen = strlen($string); 
    for($i=0; $i<$strlen; $i++) 

    if(ord(substr($string, $i, 1))>0xA0) 

    $tmpstr.= substr($string, $i, 2); 
    $i++; 


    return $tmpstr; 
    }
      

  3.   

    1楼的没有问题,只不过<<<在我这是显示的全角<?php
    $s = <<<END
    a:4:{i:11;a:2:{s:1:"k";s:2:"11";s:2:"xx";s:34:"有些女学生和男同学一样地通过了考试";}i:12;a:2:{s:1:"k";s:2:"12";s:2:"xx";s:26:"参加考试的女学生多于男同学";}i:13;a:2:{s:1:"k";s:2:"13";s:2:"xx";s:22:"半数以上的学生都及格了";}i:14;a:2:{s:1:"k";s:2:"14";s:2:"xx";s:55:"考试不及格的是男生还是女生呢?是占少数的一种(性别的)学生";}}
    END;
    $ar = unserialize($s); print_r($ar);
    ?>