如何分割这个有日期和文字的字符串???? a[0][i] -- 12.2a[1][i] -- 内容 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $str = "12.2内容1.4内容2内容内容3.4内容拉拉拉";$arr = explode("\r\n", $str);$i = 0;foreach ($arr as $key => $val) { if(is_numeric(substr($val, 0, 1))) { $i++; $result[$i]["date"] = $val; } else { if(is_numeric(substr($arr[$key-1], 0, 1))) { $result[$i]["content"] = $val; } else { $result[$i]["content"] .= "\r\n" . $val; } }}echo "<xmp>";print_r($result); 刚才那个有点小问题:)$str = "12.2内容1.4内容2内容内容3.4内容拉拉拉";$arr = explode("\r\n", $str);$i = 0;foreach ($arr as $key => $val) { if(is_numeric(substr($val, 0, 1))) { $i++; $result[$i-1]["date"] = $val; } else { if(is_numeric(substr($arr[$key-1], 0, 1))) { $result[$i-1]["content"] = $val; } else { $result[$i-1]["content"] .= "\r\n" . $val; } }}echo "<xmp>";print_r($result); $count=count($str);$ii=0;if( $ii<$count ){ $date=$str[$ii]; $i=$ii+1; while(!is_int(substr($str[$i],1))) { $diary_content.=$str[$i]; $i++; } $query = "INSERT INTO diary VALUES ('','$date','$diary_content','')"; mysql_query($query,$dbh); $ii=$i; unset($diary_content);}这样为什么不行? 上面那段代码不行吗??我试过可以的呀??你这个代码为什么不行是因为,放到数组后就成了字符型了,所以要用is_numeric.$str = "12.2内容1.4内容2内容内容3.4内容拉拉拉内容2内容内容内容2内容内容1.4内容2内容内容3.4内容拉拉拉1.4内容2内容内容3.4内容拉拉拉内容2内容内容内容2内容内容";$arr = explode("\r\n", $str);$i = 0;foreach ($arr as $key => $val) { if(is_numeric(substr($val, 0, 1))) { $i++; $result[$i-1]["date"] = $val; } else { if(is_numeric(substr($arr[$key-1], 0, 1))) { $result[$i-1]["content"] = $val; } else { $result[$i-1]["content"] .= "\r\n" . $val; } }}echo "<xmp>";print_r($result); 我把is_int换成is_numeric就可以了。我看你的那个数组头大:)我的那个的效率是不是不如你的这个的? $str = "12.2内容1.4内容2内容内容3.4内容拉拉拉";$r=preg_split("/\n(?=\d)/",$str);function arrw(&$str){ $pos=strpos($str,"\n"); $arr[date]=substr($str,0,$pos); $arr[content]=substr($str,$pos+1); $str=$arr;}array_walk($r,"arrw");echo "<xmp>";for($n=0;$n<count($r);$n++) echo "DATE:".$r[$n][date]."\nCONTENT:\n".$r[$n][content]."\n\n"; 问一个关于58同城的技术问题 判断资料库有资料 memory_limit和memory_get_usage的关系 php 简单的cookie问题~~ php是否支持icestorm? PHP高手,帮忙! php调用本地php文件问题 php关于主机调用虚拟机上的linux服务 为什么我的PHP不能在url中传递变量呢?好象都是空的? 在asp的网页中这个样子可以查看源程序吗? 请教一下,以下代码在php3的情况下,无法显示正常内容,只显示空白页,急!急!急!!! 请问php在dw中加入了相关的插件以后可以达到“所见所得”吗?
内容
1.4
内容2
内容内容
3.4
内容拉拉拉";
$arr = explode("\r\n", $str);
$i = 0;
foreach ($arr as $key => $val) {
if(is_numeric(substr($val, 0, 1))) {
$i++;
$result[$i]["date"] = $val;
} else {
if(is_numeric(substr($arr[$key-1], 0, 1))) {
$result[$i]["content"] = $val;
} else {
$result[$i]["content"] .= "\r\n" . $val;
}
}
}
echo "<xmp>";
print_r($result);
内容
1.4
内容2
内容内容
3.4
内容拉拉拉";
$arr = explode("\r\n", $str);
$i = 0;
foreach ($arr as $key => $val) {
if(is_numeric(substr($val, 0, 1))) {
$i++;
$result[$i-1]["date"] = $val;
} else {
if(is_numeric(substr($arr[$key-1], 0, 1))) {
$result[$i-1]["content"] = $val;
} else {
$result[$i-1]["content"] .= "\r\n" . $val;
}
}
}
echo "<xmp>";
print_r($result);
$ii=0;
if( $ii<$count ){
$date=$str[$ii];
$i=$ii+1;
while(!is_int(substr($str[$i],1))) {
$diary_content.=$str[$i];
$i++;
}
$query = "INSERT INTO diary VALUES ('','$date','$diary_content','')";
mysql_query($query,$dbh);
$ii=$i;
unset($diary_content);
}
这样为什么不行?
内容
1.4
内容2
内容内容
3.4
内容拉拉拉
内容2
内容内容
内容2
内容内容
1.4
内容2
内容内容
3.4
内容拉拉拉
1.4
内容2
内容内容
3.4
内容拉拉拉
内容2
内容内容
内容2
内容内容";
$arr = explode("\r\n", $str);
$i = 0;
foreach ($arr as $key => $val) {
if(is_numeric(substr($val, 0, 1))) {
$i++;
$result[$i-1]["date"] = $val;
} else {
if(is_numeric(substr($arr[$key-1], 0, 1))) {
$result[$i-1]["content"] = $val;
} else {
$result[$i-1]["content"] .= "\r\n" . $val;
}
}
}
echo "<xmp>";
print_r($result);
我的那个的效率是不是不如你的这个的?
内容
1.4
内容2
内容内容
3.4
内容拉拉拉";
$r=preg_split("/\n(?=\d)/",$str);
function arrw(&$str){
$pos=strpos($str,"\n");
$arr[date]=substr($str,0,$pos);
$arr[content]=substr($str,$pos+1);
$str=$arr;
}
array_walk($r,"arrw");
echo "<xmp>";
for($n=0;$n<count($r);$n++)
echo "DATE:".$r[$n][date]."\nCONTENT:\n".$r[$n][content]."\n\n";