{0}""/> {0}"">
ホームページ >バックエンド開発 >PHPチュートリアル >【解決策】カスタムルールに基づく文字列生成配列出力ソリューション
【解決策】 文字列生成された配列はカスタムルールに従って出力されます
文字列生成された配列はカスタムルールに従って出力されます
関数split_array("Baidu#http://www.baidu.com/nBaidu# http://www.baidu.com/n","n|#","{0}");
出力が必要
Baidu
Baidu a> ;
この関数はどうやって書くのですか?
-----解決策---------
次のように記述しますPHP コード
split_array("Baidu#http://www.baidu.com/nBaidu#http://www.baidu.com/n","n|#","<a href="%7B1%7D"> { 0}</a>");
関数 split_array($str, $pattern, $template) {
$cnt = substr_count($template, '{'); // テンプレート内の置換位置の数をカウントします。
$tmp = preg_split('/'.$pattern.'/', $str, -1, PREG_SPLIT_NO_EMPTY) // ルールに従ってデータを分割します。
$m = カウント($tmp) % $cnt;
if($m) $tmp = array_slice($tmp, 0, -$m); //余分なデータを削除します。
$tmp = array_chunk($tmp, $cnt); // グループデータ
$r = 配列();
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>