[PHP-users 21180]Re: ネストされたタグを正規表現で抽出する場

Eiji Miwa miwa @ offside.ne.jp
2004年 4月 8日 (木) 12:23:21 JST


 ミワです。

On 2004年 4月 8日 , at 08:46 AM, Katsuo Mogi wrote:
>
> そして、以下の正規表現を書きました。
> preg_match('/(?:<table[^>]*>)(?:(?:(?:(?!<\/?table[^>]*>).)*)|(? 
> R))*<\/table>/sxi', $string, $matches);
> var_dump($matches);

 preg_match (  
'/<table[^>]*>(?:(?>(?:(?!<\/?table[^>]*>).)*)|(?R))*<\/table>/si',  
$string, $matches );
 たぶん、こんな感じでうまくいくんじゃないでしょうか。

> class="menuMain"という属性が付いているaタグの行を1つでも消すと動くようなので、
> $stringが長すぎ(タグの入れ子が深すぎ?)なのでしょうか?

 推測ですが、修飾子に「x」があるので php が class を定義しようとして
 parse error になってしまっているのかもしれません。

--
 miwa at offside.ne.jp



PHP-users メーリングリストの案内