테스트 사이트 - 개발 중인 베타 버전입니다

preg_match_all 정규식을 쓰는데 내용에 $표시가 있으면 그 이후 내용이 짤립니다.

억세풀 9년 전 조회 3,431

아래와 같이 preg_match_all에 정규식을 써서 사용하려고 합니다.

preg_match_all('/<td align="left" bgcolor="#666666" style="padding:10px 10px 10px 10px" class="W">([^$]*)/', $html2, $matches, PREG_SET_ORDER); 

위와 같이 preg_match_all 을 쓰고 있는데 긁어올 내용에 $표시가 있으면 $표시 이후 내용이 짤립니다. 아마 정규식 또는 php 코드 $표시와 중복되서 뭔가 에러가 나는거 같은데 어떻게 수정하면 되나요?

 

</p><div class="container"><div class="line number1 index0 alt2"><code class="php variable">$__s</code><code class="php plain">->fetch(</code><code class="php variable">$surl</code><code class="php plain">); </code></div><div class="line number2 index1 alt1"> </div><div class="line number3 index2 alt2"><code class="php variable">$html</code><code class="php plain">=</code><code class="php variable">$__s</code><code class="php plain">->results; </code></div><div class="line number4 index3 alt1"> </div><div class="line number5 index4 alt2"><code class="php variable">$search2</code> <code class="php plain">= </code><code class="php string">"images/dis_btmbg.gif"</code><code class="php plain">; </code></div><div class="line number6 index5 alt1"> </div><div class="line number7 index6 alt2"><code class="php spaces"> </code><code class="php variable">$html2</code> <code class="php plain">= </code><code class="php string">""</code><code class="php plain">; </code></div><div class="line number8 index7 alt1"> </div><div class="line number9 index8 alt2"><code class="php spaces"> </code><code class="php keyword">if</code><code class="php plain">(</code><code class="php functions">strpos</code><code class="php plain">(</code><code class="php variable">$html</code><code class="php plain">, </code><code class="php variable">$search2</code><code class="php plain">) !== false) { </code></div><div class="line number10 index9 alt1"> </div><div class="line number11 index10 alt2"><code class="php spaces">    </code><code class="php variable">$html2</code> <code class="php plain">= </code><code class="php functions">substr</code><code class="php plain">(</code><code class="php variable">$html</code><code class="php plain">, 0, </code><code class="php functions">strpos</code><code class="php plain">(</code><code class="php variable">$html</code><code class="php plain">, </code><code class="php variable">$search2</code><code class="php plain">)); </code></div><div class="line number12 index11 alt1"> </div><div class="line number13 index12 alt2"><code class="php spaces"> </code><code class="php plain">} </code></div><div class="line number14 index13 alt1"> </div><div class="line number15 index14 alt2"><code class="php spaces"> </code><code class="php plain">preg_match_all(</code><code class="php string">'/<td align="left" bgcolor="#666666" style="padding:10px 10px 10px 10px" class="W">([^$]*)/'</code><code class="php plain">, </code><code class="php variable">$html2</code><code class="php plain">, </code><code class="php variable">$matches</code><code class="php plain">, PREG_SET_ORDER);  </code></div><div class="line number16 index15 alt1"> </div><div class="line number17 index16 alt2"><code class="php spaces"> </code><code class="php functions">echo</code> <code class="php variable">$matches</code><code class="php plain">[0][1];</code></div></div><p>
 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

편리
9년 전

정규식 강좌를 참고하세요.

http://sir.co.kr/pg_lecture/185">http://sir.co.kr/pg_lecture/185 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인