> 백엔드 개발 > PHP 튜토리얼 > 【求解】字符串生成数组根据自定义规则输出解决方法

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

WBOY
풀어 주다: 2016-06-13 13:16:04
원래의
1088명이 탐색했습니다.

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

这个函数怎么写?

------解决方案--------------------
这样写

PHP code
split_array("百度#http://www.baidu.com/\n百度#http://www.baidu.com/\n","\n|#","<a href="%7B1%7D">{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);
} <div class="clear">
                 
              
              
        
            </div>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿