2014-06-10 6 views
1

, 내 마크 업 내가 삽입 DIV 내가 PHP 간단한 DOM 파서를 사용하고

$banner = '<div class="ads">blablabla</div>'; 
foreach($html->find('tb') as $table){ 
    $table->outertext .= $banner; 
} 

노력이

<table class="tb">..</table> 
<table>..</table> 
<table>..</table> 

비슷하지만 모든 루프 말한다 표. 나는 find('div[class="tb"][1]')을 시도했지만 작동하지 않습니다. div가 한 번만 btw 첫 번째 및 두 번째 테이블을 나타납니다.

+0

당신이 OLY PHP를 JQuery와의 필요를 사용하지 싶어? –

+0

@HariniSekar just php – user3522725

+0

@kevinabelita 왜 안에 넣어야합니까? 나는 바깥쪽에 놓았고 모든 테이블을 돌아 다니며 작동했습니다. 첫 번째 테이블과 두 번째 테이블에서 한 번 배너가 나타나기를 바랄뿐입니다. – user3522725

답변

0

먼저 테이블 요소를 찾고있는 반면 클래스 tb 인 div를 찾으려고합니다. 그런 다음 기존 텍스트에 $banner 값을 '추가'하려면 테이블 코드가 지워지지 않도록 .= 연산자를 사용해야합니다. 마지막으로 변경 사항을 저장합니다.

foreach($html->find('table[class=tb]') as $element){ 
     echo $element->src . '<br>'; 
     $element->outertext .= $banner; 
} 

$html->save(); 

출력은 다음과 같습니다 : 코드는 같아야합니다

<table class="tb">..</table><div class="ads">banner</div> <table>..</table> <table>..</table> 
+0

저장하지 않으면 어떻게됩니까? 왜냐하면 마지막에 나는 $ html을 – user3522725

+0

@ user3522725에 echo하기 때문이다. [here] (http://simplehtmldom.sourceforge.net/manual_api.htm)에 따르면, 내용을 파일에 저장할 때 save() 당신의 경우에, 당신은 그것없이 앞서 갈 수 있습니다. –

+0

은 5 개의 테이블을 가지고 있으며, ur 코드를 사용했으며, 그 안에 5 개의 배너가 있습니다. 그게 문제입니다. – user3522725