는 셀을 나타냅니다. 예를 들어 다음은 간단한 HTML 테이블입니다.
<table>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
<tr>
<td>张三</td>
<td>25</td>
<td>男</td>
</tr>
<tr>
<td>李四</td>
<td>28</td>
<td>女</td>
</tr>
</table>
2. PHP를 사용하여 HTML 테이블을 배열로 변환
PHP에서는 정규식이나 DOM을 사용하여 HTML 테이블을 구문 분석할 수 있습니다. DOM을 활용하는 방법을 소개합니다.
- DOM 개체 만들기
먼저 DOM 개체를 만들고 그 안에 HTML 콘텐츠를 로드해야 합니다. simplexml_load_string() 함수를 사용하여 HTML 문자열을 DOM 객체로 변환할 수 있습니다.
$html = '<table>...</table>';
$dom = new DOMDocument();
$dom->loadHTML($html);
- 테이블 내용 탐색
다음으로, 테이블 내용을 탐색하고 각 셀의 값을 배열에 저장해야 합니다. getElementsByTagName() 메서드를 사용하여 테이블의 모든 셀을 가져올 수 있습니다.
$table = $dom->getElementsByTagName('table')[0];
$rows = $table->getElementsByTagName('tr');
$data = array();
foreach ($rows as $row) {
$cols = $row->getElementsByTagName('td');
$row_data = array();
foreach ($cols as $col) {
$row_data[] = $col->nodeValue;
}
$data[] = $row_data;
}
이 코드에서는 먼저 테이블 개체를 얻은 다음 각 행을 순회합니다. 각 행에 대해 그 안의 모든 셀을 가져오고 셀의 값을 행 데이터 배열에 추가합니다. 마지막으로 테이블 데이터 배열에 행 데이터를 추가합니다.
- 출력 테이블 데이터
이제 HTML 테이블을 배열로 변환했으므로 추가로 출력하거나 처리할 수 있습니다. 예를 들어 print_r() 함수를 사용하여 변환된 데이터를 인쇄할 수 있습니다.
print_r($data);
의 출력 결과는 다음과 같습니다.
Array
(
[0] => Array
(
[0] => 姓名
[1] => 年龄
[2] => 性别
)
[1] => Array
(
[0] => 张三
[1] => 25
[2] => 男
)
[2] => Array
(
[0] => 李四
[1] => 28
[2] => 女
)
)
3. 결론
위 코드를 통해 HTML 테이블을 2차원 배열 구조의 PHP 배열로 변환할 수 있습니다. 이 접근 방식은 HTML 테이블의 데이터를 신속하게 처리하는 간단하면서도 강력한 방법입니다. 실제 프로젝트에서는 실제 요구 사항에 따라 코드를 수정하고 최적화해야 합니다.
|