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

Naomasa Numajiri php-users@php.gr.jp
2002年4月26日 19:53:43 +0900


こんにちは、
# php4.1.2での確認です。
ereg()での確認だと
「'(<TR>.*?</TR>)+'」じゃなくて「'(<TR>.*?</TR>.?)+'」にすれば
進展しそうな感じになりました。
# ereg()で最小一致オプション「?」を使うとエラーになるので。
でも、最終的には「[PHP-users 6610]」の発想でやるしかないと思います。
以下で、理由が分かると思います。
------------------------------------------ 例
<?php
$a = '0123456789';
if( ereg('([0-9])+',$a,$m) )
{
 print_r($m);
}
?>
------------------------------------------ end
でわでわ
-- 沼
----- Original Message ----- 
From: "Osamu Shigematsu" <shige@ravi.ne.jp>
To: <php-users@php.gr.jp>
Sent: Friday, April 26, 2002 2:07 PM
Subject: [PHP-users 7157] table 内の要素を mb_ereg で抜き出すには
| 重松です。こんにちは。
|| 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
|| _______________________________________________
| PHP-users mailing list
| PHP-users@php.gr.jp
| http://ns1.php.gr.jp/mailman/listinfo/php-users


AltStyle によって変換されたページ (->オリジナル) /