2016-08-08 2 views
0

웹 페이지에서이 데이터 (MARK PATER)를 추출하려고하는데이 문자열을 하이퍼 링크가 아닌 문자열로 지정합니다. 여기 내 코드는 다음과 같습니다.JavaScript가 내장 된 JavaScript에서 Phrip 추출 중임

이것이 내 브라우저에 표시되는 결과입니다. MARK PATER? 이 값을 문자열로 추출 할 수 없습니다 ... HYPERLINK입니다. 나는 소스를 열 때 나는이 얻을 :

여기
<a class="filter_list" href="" onclick="return fillFilterForm(document.formFilter1, 'nation_party_name', 'MARK PATGHL');"><font face="Verdana" size="1" color="BLACK">MARK PATERÂ Â </font></a>string(0) "" 

에코 $ html로에서 소스 코드의 일부입니다

<tr > 

<td align="justify" width="5%" nowrap><font face="Verdana" size="1">&nbsp;&nbsp;&nbsp; 

* 

<a class="list_2" href="details.asp 

?doc_id=2&index=0&file_num=07">View</a>&nbsp;&nbsp;</font> 

</td> 

<td width="20%" align="justify" ><a class="filter_list" href="" onClick="return fillFilterForm(document.formFilter1, 'party_name', 'NEW YORK GORDI’);”><font face="Verdana" size="1" color="BLACK">NEW YORK GORDI&nbsp;&nbsp;</font></td> 

<td width="15%" align="justify" nowrap><a class="filter_list" href="" onClick="return fillFilterForm(document.formFilter1, ’Name’, ‘MARK PATER);”><font face="Verdana" size="1" color="BLACK">MARK PATER&nbsp;&nbsp;</font></td> 

코드 :

$html = file_get_html($link); 
//echo htmlspecialchars ($html); 
// a new dom object 
$dom = new domDocument; 
// load the html into the object 
$dom->loadHTML($html); 
$tables = $dom->getElementsByTagName('td'); 
echo get_inner_html($tables->item(26)); 


function get_inner_html($node) 
{ 
$innerHTML= ''; 
$children = $node->childNodes; 

foreach ($children as $child) 
{ 
    $innerHTML .= $child->ownerDocument->saveXML($child); 
} 

return $innerHTML; 

} 

enter code here 
+0

이것은 내가 원하는 문자열을보고 소스 코드 : MARK PATER   문자열 (0) "" –

답변

0

는 정규 표현식을 사용하십시오

에서 문자열을 추출하는 정규식을 작성하십시오. HTML.

SimpleXML/DOM을 사용하여 HTML을 반복하는 것은 때로는 매우 어려운 과정입니다. 귀하의 경우에 대한

샘플

$html = "<tr > 

<td align=\"justify\" width=\"5%\" nowrap><font face=\"Verdana\" size=\"1\">&nbsp;&nbsp;&nbsp; 

* 

<a class=\"list_2\" href=\"details.asp?doc_id=2&index=0&file_num=07\">View</a>&nbsp;&nbsp;</font> 

</td> 

<td width=\"20%\" align=\"justify\" ><a class=\"filter_list\" href=\"\" onClick=\"return fillFilterForm(document.formFilter1, 'party_name', 'NEW YORK GORDI';);\"><font face=\"Verdana\" size=\"1\" color=\"BLACK\">NEW YORK GORDI&nbsp;&nbsp;</font></td> 

<td width=\"15%\" align=\"justify\" nowrap><a class=\"filter_list\" href=\"\" onClick=\"return fillFilterForm(document.formFilter1, 'Name', 'MARK PATER';);\"><font face=\"Verdana\" size=\"1\" color=\"BLACK\">MARK PATER&nbsp;&nbsp;</font></td>"; 

preg_match_all('/(?:<td.+><a.+><font.+>)([\w\s]+)(?:(&nbsp;)+<\/font><\/td>)/', $html, $filtered); 

print_r($filtered[1]); 

//Output: Array ([0] => NEW YORK GORDI [1] => MARK PATER) 
+0

가 대단히 감사합니다, 그것은했다! –

관련 문제