いわば、2chブラウザ等のようなレスアンカーの付いたレスを
対象レスの直下に移動することをしたいのですが、乱れてしまいます。
例
1.名無し
ぬるぽ
2.名無し
うほ
3.名無し
2
ガッ
を↓
1.名無し
ぬるぽ
3.名無し
2
ガッ
2.名無し
うほ
・・・という感じです
書いてみたのが下記です
$res_info[]:「1.名無し」の部分をおさめています
$res[]:レス内容を収めています
$position=0; $matches=preg_grep('/>>([0-9]+)/', $res);//アンカーの入ったレスを抽出 foreach($matches as $k => $v){//レスのあるキー&value //↑これをどこに入れる? preg_match('/>>([0-9]+)/',$v, $m);//移動先をm[1]に取得 foreach($res as $key => $value){//keyを調べるだけ。value使わない if($key==$m[1]){//どこにあるかな //行き先を見つけた段階のpositionを挿入位置として↓に。 array_splice($res, $position, 0, array($k=>$v)); array_splice($res_info, $position, 0, array($k=>$res_info[$k])); $position=1; break; }else{//無かったら $position++; } }
うまくいく部分もあったりしますが
レスが重複したり、res_infoとresの組み合わせがずれたり。
完成したものを書き出すと下に行くほど無茶苦茶になります。
PHPでこの目的が達成できれば良いのですが、何か方法はありませんでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。