首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

【求解】字符串生成数组根据自定义规则输出解决方法

2012-09-11 
【求解】字符串生成数组根据自定义规则输出字符串生成数组根据自定义规则输出根据函数split_array(百度#htt

【求解】字符串生成数组根据自定义规则输出
字符串生成数组根据自定义规则输出
根据函数split_array("百度#http://www.baidu.com/\n百度#http://www.baidu.com/\n","\n|#","<a href='{1}'>{0}</a>");
要求输出
<a href='http://www.baidu.com/'>百度</a>
<a href='http://www.baidu.com/'>百度</a>

这个函数怎么写?

[解决办法]
这样写

PHP code
split_array("百度#http://www.baidu.com/\n百度#http://www.baidu.com/\n","\n|#","<a href='{1}'>{0}</a>");function split_array($str, $pattern, $template) {  $cnt = substr_count($template, '{'); //统计模板中替换位置的个数  $tmp = preg_split('/'.$pattern.'/', $str, -1, PREG_SPLIT_NO_EMPTY); //按规则切割数据  $m = count($tmp) % $cnt;  if($m) $tmp = array_slice($tmp, 0, -$m); //除去多余的数据  $tmp = array_chunk($tmp, $cnt); //将数据分组  $r = array();  foreach($tmp as $m) {    $t = $template;    foreach($m as $i=>$v) {      $t = str_replace("{{$i}}", $v, $t);    }    $r[] = $t;  }  echo join('<br>', $r);} 

热点排行