2014-01-17 1 views
0

안녕하세요. 모두 저는 phpquery에 대해 매우 신났습니다. 그리고 여기는 stackoverflow에서의 첫 번째 게시물입니다. phpquery chaining. 나는 누군가가 내가 무엇을 찾고 있는지를 안다.phpquery에서 체인하는 법 (거의 모든 것이 사슬이 될 수 있습니다)

div 안에있는 특정 div 만 제거하고 싶습니다.

<div id = "content"> 
     <p>The text that i want to display</p> 
     <div class="node-links">Stuff i want to remove</div> 
</content> 

코드이 몇 줄

pq('div.node-links')->remove(); 
$text = pq('div#content'); 
print $text; //output: The text that i want to display 

완벽하게 작동하지만

을 시도 할 때 는
$text = pq('div#content')->removeClass('div.node-links'); //or 
$text = pq('div#content')->remove('div.node-links'); 

//output: The text that i want to display (+) Stuff i want to remove 

사람은 코드의 두 번째 블록이 작동하지 않는 이유를 말씀해 주시겠습니까?

감사합니다. remove() 이후

답변

0

, 그것은 노드를 제거하지 않습니다.

당신은 당신이에서를 변경해야하는 클래스 제거하려는 경우 : 출력되는

$text = pq('div#content')->removeClass('div.node-links'); 
// to 
$text = pq('div#content')->find('.node-links')->removeClass('node-links')->end(); 

: 코드의 두 번째 줄에 관해서는

<div id="content"> 
    <p>The text that i want to display</p> 
    <div>Stuff i want to remove</div> 
</div> 

.. 아니에요을 정확하게 작동하지 않는 이유를 정확히 알고 싶다면 .node-links을 선택하지 않은 것 같지만 이러한 결과를 사용하여 원하는 결과를 얻을 수있었습니다. 내가 시도

+0

씨 r-sal 고마워요, 두 번째처럼 작동합니다. $ text = pq ('div # content') -> find ('. 노드 링크') -> remove() 종료(); 요소가 데이터베이스에 저장 되었기 때문에 이미 다른 방법을 찾았습니다. 대신 fullContent 필드와 remove()가 필요한 요소 필드를 추가했습니다. 여러 RSS 피드에 대한 동적 Scrapper 개발 (현재 200 개의 피드 URL 있음) 스크래핑을 더 간단하게 만들기 위해 phpquery를 좋아하지만 유일한 문제는 문서입니다. 어쨌든이 답변에 감사드립니다. 건배! – 1mr3yn

0

어떤 매개 변수를 사용하지 않습니다, 당신은 할 수 있습니다 : 코드의 첫 번째 줄은 당신이 div.node-links에서 클래스를 제거하는 경우 작동

$text = pq('div#content div.node-links')->remove(); 
+0

도움지만 디스플레이에 "물건은 내가 제거 할"입니다

// $markup = file_get_contents('test.html'); // $doc = phpQuery::newDocumentHTML($markup); $text = $doc->find('div#content')->children()->remove('.node-links')->end(); // or $text = pq('div#content')->find('.node-links')->remove()->end(); // or $text = pq('div#content > *')->remove('.node-links')->parent(); 

희망, 1mr3yn @ – 1mr3yn

+0

가 확실 예상되는 사업부 제거 할 수있는 노드 - links''이다. 클래스'links'만으로 div를 볼 수 있습니까? – Felix

+0

죄송 내 실수는, 내 게시물을 업데이 트됩니다. div 안에 특정 클래스를 없애고 싶습니다. – 1mr3yn

관련 문제