2011-02-02 4 views
0

HTML 태그 사이에 텍스트를 찾으려고합니다 :이 preg_match 코드에 문제가 있습니까?

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

그래서 시도 :

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

그러나 그것은 감탄 부호 (!) 결과로 내게 준다.

내 preg_match 코드에 어떤 문제가 있습니까? 도와 줘서 고마워!

phpheini

+2

테스트를 거쳤습니다. 'preg_match ($ pattern, $ subject, $ result);'- 아마도 잘못된 매개 변수 목록입니까? – Pierre

+1

'$ result' 란 무엇입니까? 위의 HTML 문자열입니까? – lonesomeday

+0

아니요, $ 결과는 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>')) { ... } 

작동합니다.

관련 문제