2011-02-02 12 views
0

私は、HTMLタグの間のテキストを見つけようとしています:このpreg_matchコードで何が問題になりますか?

if(preg_match('#<td align="center" width="90%" valign="top">(.*?)</td>#s',$result)) { ... } 

をしかし、それは感嘆符を結果として私を与える:

<td align="center" width="90%" valign="top">Here is a short text</td> 

をだから私は試してみました(!)。

私のpreg_matchコードで何が問題になっていますか? ありがとうございました!

phpheini

+2

私はそれをテストして動作します。 'preg_match($ pattern、$ subject、$ result);' - おそらく間違ったパラメータのリスト? – Pierre

+1

'$ result'とは何ですか?上記のHTML文字列ですか? – lonesomeday

+0

いいえ、$ resultは配列で、preg_matchは結果を!に書き込みます。だから私はecho $ result [1]で結果を得ることができます。 HTMLコードには、のようなブランクスペースがあります。 preg_matchはそれをチェックしませんか? – phpheini

答えて

1

あなたの正規表現は良いです:http://regexr.com?2t14i

if(preg_match('#<td align="center" width="90%" valign="top">(.*?)</td>#s', 
'<td align="center" width="90%" valign="top">Here is a short text</td>')) { ... } 

は動作するはずです。

関連する問題