나는 간단한 HTML DOM을 오랫동안 사용 해왔고, 내가 할 수있는 것을 사랑했습니다. 그러나 나는 내가하고 싶은 무언가로 벽돌 벽에 뛰어 들었다. html로이PHP 간단한 HTML DOM - 페이지 이동하기
<html>
<div><div><table><tr><td class="alt2"> texty texty </td></tr></table></div></div>
Text text
<div><div><table><tr><td class="alt2"> texty2 texty2 </td></tr></table></div></div>
Text2 text2
<div><div><table><tr><td class="alt2"> texty3 texty3 </td></tr></table></div></div>
Text2 text3
</html>
모습의 기본적인 아이디어를 제공하는 첫 번째는 그래서 basicly 나는 그 TD의 굵은 글씨로 뭐죠 가지고, 다음이 각각 그 아래에 div에 뭐죠 아래 배치해야합니다.
그래서 $ text = $ html-> find ('td [class = alt2]')를 사용하면 "texty texty"를 얻을 수 있지만 "text text"를 that after,
texty2 texty2를 잡으면 어떻게 text2 텍스트 2를 연결하나요? 결국
, 내가 목표로 한 출력은 일의 <p>texty texty</p><br>text text
친절했다
나는 div의가에 differnt 클래스를 가질 수 등, 간단 등록 표현이 작동 wouldnt가 (그리고 싶은 것을 지적해야 간단한 HTML DOM 가능한 경우)을 고수하는
-
UPDATE :
나는이 조금의이 만든 코드
if ($html) {
// Pulls the div that holds the links to the champion profiles (where they have the english names)
$text = $html->find('td[class="alt2"]');
$count = 0;
foreach ($text as $holder) {
$tdholder[] = $holder->innertext;
$html->find('div',$count*2)->innertext = $holder->innertext;
echo $holder."<br><br>";
$count++;
}
}
이 코드의 유일한 문제는 div의 총 수입니다. 이것은 2가 있기 때문에 내 예제에서는 괜찮습니다.하지만 2 ~ 3이 있으면 문제가됩니다. 이제 첫 번째 또는 두 번째 또는 세 번째 최상위 div를 잡는 방법을 알아야합니다. 그러면 좋을 것입니다.
하나의 솔루션으로 메신저 생각은 화장실이다 한번씩 핑 (ping)을하여 TD의 내용물을 가져 와서 다시 반복하면서 첫 번째 최상위 div를 첫 번째 TD의 내용으로 바꾸라고 말하면서 변경하십시오 ... 지금 작업 할 것입니다 – user1807658
'텍스트 텍스트' , Text2 text2' 및'Text2 text3'은 요청을 모호하게 만드는 html 태그에 없습니다. – Baba
@Baba thats thats issue. 그들이 태그에 있다면, 배열을 통해 그들을 일치시킬 수 있습니다. – user1807658