정규식 질문좀 드릴게요 ㅠ
본문
<code><tr class="active">
<th></th>
<th scope="row">소계</th>
<th></th>
<td align="right"><b>+6,200</b></td>
<td align="right"><b>-1,400</b></td>
<td></td>
</tr>
<tr class="bg-black">
<th></th>
<th scope="row">보유포인트</th>
<th></th>
<td align="right"><b>18,650</b></td>
<td></td>
<td></td>
</code>
이런코드가잇는데
<td align="right"><b> 겹치는부분이 너무많아서
18,650만 못뽑습니다.
<th scope="row">보유포인트</th> 이거부터 <td align="right"><b>
여기까지 검색하고 </b></td> 이사이 검색해서
18,650만 뽑을수 있는 방법이 있을까요?
예제좀 알려주세요 ㅠ
답변 4
$str = <<<HEREDOC
<tr class="active">
<th></th>
<th scope="row">소계</th>
<th></th>
<td align="right"><b>+6,200</b></td>
<td align="right"><b>-1,400</b></td>
<td></td>
</tr>
<tr class="bg-black">
<th></th>
<th scope="row">보유포인트</th>
<th></th>
<td align="right"><b>18,650</b></td>
<td></td>
<td></td>
HEREDOC;
preg_match_all('@<th scope="row">보유포인트</th>.*?<td align="right"><b>(.*?)</b></td>@s', $str, $arr);
print_r($arr);
/*
Array
(
[0] => Array
(
[0] => <th scope="row">보유포인트</th>
<th></th>
<td align="right"><b>18,650</b></td>
)
[1] => Array
(
[0] => 18,650
)
)
*/
굳이 꼭 정규식으로 구해야하는 이유가 있나요?
클래스나 아이디를 넣어서 자바스크립트로 셀렉트 하실수는 없으신 상황이신건가요?
preg_match_all 로 뽑는법좀 부탁드리겠습니다.
$html = '<code><tr class="active">
<th></th>
<th scope="row">소계</th>
<th></th>
<td align="right"><b>+6,200</b></td>
<td align="right"><b>-1,400</b></td>
<td></td>
</tr>
<tr class="bg-black">
<th></th>
<th scope="row">보유포인트</th>
<th></th>
<td align="right"><b>18,650</b></td>
<td></td>
<td></td>
</code>';
preg_match_all('/<b(.*?)>(.*?)<\/b>/i', $html, $p_match);
print_r2($p_match);
Array
(
[0] => Array
(
[0] => +6,200
[1] => -1,400
[2] => 18,650
)
[1] => Array
(
[0] =>
[1] =>
[2] =>
)
[2] => Array
(
[0] => +6,200
[1] => -1,400
[2] => 18,650
)
)
답변을 작성하시기 전에 로그인 해주세요.