2009-10-27 2 views
1

안녕하세요. simple_html_dom을 사용하여 HTML 문서에서 "new"클래스의 모든 링크를 찾으려고합니다. 일반적으로 내가 사용합니다 :simple_html_dom을 사용하여 PHP 구문 분석, 검색 문제

$html->find('a[class=new]'); 

이 같은 링크를 얻을 것입니다 예를 들어,

<a class="new" ... blah blah ... /> 

Hoever이 시간이 HTML 문서는

<a class="today new".../> 
<a class="alksdjld new kfljslfd".../> 

그것은 새로운 단어로 다른 링크의 기본적 많은 같은 클래스와 링크를 포함하는 문제. 온라인 설명서에 따르면 [class^= new]는 부분적으로이 문제를 해결할 것입니다. 왜냐하면 새로운 클래스로 시작하고 작동하는 클래스를 정렬하기 때문입니다. 그러나 그것은 여전히 ​​"새로운 바보 같은"수업을 떠난다.

희망이있다. 누구든지 이걸/해결 했습니까?

답변

1

[class^= new]을 (를) 사용하여 전체 클래스 목록을 찾으면 루프를 반복하고 새로운 클래스가 유일한 클래스 인 필터를 필터링 할 수 있습니까? 워드 프로세서

0

: 더있을 것이다없는 경우는 '새로운'== 경우

// Find all <li> in <ul> 
foreach($html->find('ul') as $ul) 
{ 
     foreach($ul->find('li') as $li) 
     { 
      // do something... 
     } 
} 

그래서 당신은 당신의 A 레코드를 반복 할 수있을 $ A- 보라> 클래스를 확인합니다 그냥 새로운 것보다 당신은 그것을 건너 뛸 수 있습니다 ...

+0

당신이 말하는 것이 가능하다고 생각하지 않습니다. $ html-> find ('a [class = new]'); foreach ($ html as $ value) {//} 어떻게 foreach 문에서 클래스 == 'new'를 확인합니까? 나는 그렇게 생각하지 않아? –

+0

죄송합니다. $ class = $ html-> find ('a [class = new]')를 의미합니다. foreach ($ class로 $ class) {//} .......... 누구? –

+0

if ($ value-> class == "new")와 같을 것 같습니다. – Zak