ループに挑戦

テーブルが元データの場合、rowspanなどで上のカラムと結合している場合があります。
このままではDBに格納する際にどのデータを参照していいかわからなくなるので、正規表現で上の行のカラムのデータを参照して置き換え、上のカラムと結合を解除しなければいけません(もっといい方法があるんでしょうか?)。


ただrowspanが4行にも、5行にも渡っている場合には、一度preg_replace()をかけただけでは置き換えきりません。そこで、preg_replace()countオプションをつけて、countが0になるまで繰り返し同じ条件でpreg_replace()を実行します。


こういう時に使うのはdo-while()ですね。


PHP: do-while - Manual
 http://jp.php.net/manual/ja/control-structures.do.while.php


やる前はcountオプションを思いつかず、どうしようと考え込んだんだけど、気付いてみたらあっさり。

do{
$rss = preg_replace($searchrss1, $replacerss1, $rss, -1, $count);
}
while( $count !=0 );