IEO Menu
InfoLogin
:: 전체게시물:: HTML 특수문자C/C++JavascriptIT/TIP개발/TIP개발/리눅스관리OSX/Windows잡담/잡동사니라이딩일기자가정비/튜닝유머사진 모음
HTML 테이블을 배열로 "HTML Table to Array" for PHP
Read: 7381
2016-08-30 16:30:40
function HTMLTable2Array($file)
{
if(!is_file($file)){return array();}

// DOM 기반 HTML 처리

$contents=file_get_contents($file);
$contents=str_replace("\r",'',$contents);
$DOM = new DOMDocument;
$DOM->loadHTML($contents);

// 사용변수 초기화

$array_table=array();
$count_table=0;
$count_tr=0;
$count_td=0;

// 테이블을 가져오고 존재하지 않으면 중단.

$tables=$DOM->getElementsByTagName('table');
if($tables->length<1){return array();}

foreach($tables as $table)
{
// TBODY 가 섞여 있을수 있으므로 TR태그만 가져온다.
$trs=$table->getElementsByTagName('tr');
$count_tr=0;
foreach($trs as $tds)
{
// 필요하다면 nodeName 을 체크한다.
if($tds->nodeName!='tr'){continue;}

// TR 하위 노드는 TD/TH 가 있으므로 childNodes 로 넘긴다.
$count_td=0;
foreach ($tds->childNodes as $td)
{
// td 태그 사이에 text 가 존재할수 있다. 노드이름을 구분하여 TD,TH만 가져오도록함.
if($td->nodeName=='td' || $td->nodeName=='th')
{
$array_table[$count_table][$count_tr][$count_td]=$td->nodeValue;
$count_td++;
}
}
$count_tr++;
}
}

return $array_table;
}
개발/TIP
CSS 강제 줄바꿈.
2017-02-15 12:20:44
[PHP] 배열에서 isset 사용시 오류 해결방법
isset 은 배열 요소 또는 변수의 값이 null 이면 isset 으로 배열요소나 변수의 ... more
2016-09-22 11:56:00
[자바스크립트] 상위개체(FORM) 찾기
<script> function getParentForm(obj) { switch(obj.parentNode.tagName) { case ' ... more
2016-09-08 12:47:51
자바스크립트 / parseInt 대체함수 intval
자바스크립트의 parseInt 는 숫자가 아닌 값을 NaN 값이나 Infinity 값을 넘겨주 ... more
2016-08-30 16:32:09
JQuery (File/Image) 파일/이미지 입력(File Input) 체크
언제부터인가 브라우저에서 직접 파일 경로를 숨기면서 파일 컨트롤이 어 ... more
2016-08-24 11:09:01
Vertical-align 의 사용법
2016-08-16 08:44:32
Microsoft Remote Descktop, 윈도우10 한영전환문제 깔끔하게 해결하기.
2016-08-11 17:26:34
HTML Select Box, 셀렉트 박스를 DIV/HTML로
2016-08-09 17:34:30
<? 와 <?php 의 차이.
PHP 를 XML 이나 XHTML 로 사용하는 경우 <?php 사용을 권장한다. PHP 태그가 ... more
2016-08-08 08:01:02
PHP7.0, mysql_result, mysqli_result
PHP7 이 되면서 mysql_* 함수들이 모두 사라졌다. 그리고 mysqli 함수들로 완전 ... more
2016-08-07 14:09:16
토쳐라이딩 | IEO.KR
IEO.KR의 사전 서면동의 없이 IEO.KR 사이트의 일체의 정보, 콘덴츠 및 UI등을 상업적 목적으로 전재, 전송, 스크래핑 등 무단 사용할 수 없습니다.