[PHP-users 7157] table 内の要素を mb_ereg で抜き出すには

Osamu Shigematsu php-users@php.gr.jp
Fri, 26 Apr 2002 14:07:51 +0900


重松です。こんにちは。

mb_ereg(i) を使って、table 内の要素を抜き出せないかな、と考えています。

$html = <<<EOB
<TABLE>
<TR><TH>Apple</TH><TD>Mac OS X</TD></TR>
<TR><TH>Micro$oft</TH><TD>Windoze eXPloitation</TD></TR>
</TABLE>
EOB;

	$rows = array(); /* initialize as empty array */
	if(mb_eregi('(<TR>.*?</TR>)+',$html,$rows)){
		print_r($rows);
	}

のようなコードを書いてみたのですが、

	Array
	(
	    [0] => <TR><TH>Apple</TH><TD>Mac OS X</TD></TR>
	    [1] => <TR><TH>Apple</TH><TD>Mac OS X</TD></TR>
	)

となり、
次の行の

	<TH>Micro$oft</TH><TD>Windoze eXPloitation</TD>

にマッチしません。

\n の取り扱いを行の区切りとするかしないか、設定することはできますか。

また、現状 (PHP 4.2.0) でどのようにすれば、効率よく抜き出すことができるのでしょうか。

--
Osamu Shigematsu
mailto:shige@ravi.ne.jp