4个三角,散分200,顺便问个explode的问题! 但是,如果出现如下行那样的字串呢?结果会是什么?SD "I am [you a?] a 'student'. " + 'lalalal haha[j]ah' DDDDD 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?$ss="[May/12/2006 11:12:13] \"GET /index.html HTTP/1.0\" <Accept-Range: bytes>";$ss=ereg_replace("[<|>|\[]","",$ss);$ss=ereg_replace("]","",$ss);echo $ss;$pieces = explode("\"", $ss);print_r($pieces);?> <?php$str = <<<EOT[May/12/2006 11:12:13] "GET /index.html HTTP/1.0" <Accept-Range: bytes>EOT;print_r(str_word_count($str, 1));?> 如何要你的结果,你只能用正则了 想获得:May/12/2006 11:12:13GET /index.html HTTP/1.0Accept-Range: bytes个人觉得还是要正则吧! 别用 explode 函数,你的需求和这个功能不符。按照你的需求写正则吧 个人认为 whalefish2001(whale) 的方法应该要好点,不过他的里面可用正则应该再智能点,以后就是一个扩展了,呵呵 explode -- 使用一个字符串分割另一个字符串正则是正解 正则的“php”时间开销是不是有点大。 如果不用正则。那就把这些特殊字符也explode成数组,然后再join或者implode成原来的。 function You_need($string){ eregi("\[.*\]",$string,$Arr1); $Array[]=$Arr1[0]; eregi("\".*\"",$string,$Arr2); $Array[]=$Arr2[0]; eregi("<.*>",$string,$Arr3); $Array[]=$Arr3[0]; return $Array;}这样是不是很麻烦?初学 php 三级分类问题(非递归方式) PHP问题请教PHP高手解决啊! 如何优化多个条件的switch和if语句? 请大侠指点一个思路 PHP 的逻辑数组 问题,请大侠指教 php连接sql2008r2不成功 招聘php程序员(上海,4.5k) 为何cookie不能生效? 关于写文本文件的奇怪问题? PHP中定时刷新页面的功能如何实现! 求一个SQL排序方法,在线等 弥补php上传的缺陷,这么多 perl upload程序,我们选哪个
$ss="[May/12/2006 11:12:13] \"GET /index.html HTTP/1.0\" <Accept-Range: bytes>";
$ss=ereg_replace("[<|>|\[]","",$ss);
$ss=ereg_replace("]","",$ss);
echo $ss;
$pieces = explode("\"", $ss);
print_r($pieces);
?>
$str = <<<EOT
[May/12/2006 11:12:13] "GET /index.html HTTP/1.0" <Accept-Range: bytes>
EOT;
print_r(str_word_count($str, 1));
?> 如何要你的结果,你只能用正则了
May/12/2006 11:12:13
GET /index.html HTTP/1.0
Accept-Range: bytes
个人觉得还是要正则吧!
{
eregi("\[.*\]",$string,$Arr1);
$Array[]=$Arr1[0];
eregi("\".*\"",$string,$Arr2);
$Array[]=$Arr2[0];
eregi("<.*>",$string,$Arr3);
$Array[]=$Arr3[0];
return $Array;
}
这样是不是很麻烦?初学