Inserindo uma div através do DOMDocument em conteúdo obtido do site remoto

Desculpe se o título está confuso aqui é a explicação:

digamos que temos uma página remota como remotesite.com/page1.html e usamos a function file_get_contents para obter sua fonte, então usamos DOMDocument para editar esta fonte antes de imprimi-la na nossa página

 $url = "remotesite.com/page1.html"; $html = file_get_contents($url); $doc = new DOMDocument(); // create DOMDocument libxml_use_internal_errors(true); $doc->loadHTML($html); // load HTML you can add $html //here we do some edits to remove or add contents 

Quero adicionar a Div abaixo ao conteúdo antes de imprimi-lo:

  

Aqui está o que eu tentei, mas a parte codificada suave ( '+content+'_title_'+lshtitle+'_event_'+id+' ) do href não está funcionando

Eu sei que o meu código abaixo pode parecer estúpido, mas desculpe, eu não tenho conhecimento suficiente em php

 function createDivNode($doc) { $divNode = $doc->createElement('div'); $divNode->setAttribute('style', 'float: right; padding-right: 2px;'); $aNode = $doc->createElement('a', 'openEvent'); $aNode->setAttribute('class', 'open_event_tab'); $aNode->setAttribute('target', '_blank'); $aNode->setAttribute('href', 'https://stackoverflow.com/questions/18001861/inserting-a-div-through-domdocument-into-content-got-from-remote-site/some-hard-coded-text-here_'+content+'_title_'+lshtitle+'_event_'+id+'.html'); $divNode->appendChild($aNode); return $divNode; 

}

e eu quero dar uma volta à fonte obtida do site remoto para obter cada td que se parece com o abaixo e adicione a div apenas antes de fechá-la

   Video  Sports:  Motor Sports //here i want to add my div  

6 horas de pesquisa e não consigo entender isso enquanto estou em fase de aprendizado, então eu decidi pedir a alguém nesta comunidade útil

Ainda está confuso sobre sua pergunta, mas acho que você deseja adicionar / adicionar uma div dinâmica dentro de cada td e, se for esse o caso, você pode tentar isso (pelo menos, você terá uma idéia e está muito limpo)

 var content = 'someContent', lshtitle = 'someTitle', id = 'anId'; var attr = { 'class' : 'open_event_tab', 'target' : '_blank', 'href' : 'some-hard-coded-text-here_' + content + '_title_' + lshtitle + '_event_' + id + '.html', 'text' : 'open event' }; var link = $('', attr); var div = $('
', { 'style' : 'float:right;padding-right:2px;' }).append(link); $('#myTable td').append(div);

DEMO.

Atualização: (A questão foi confusa, então a resposta atualizada foi dada abaixo)

Basta baixar Simple HTML DOM Perser e ( documentação aqui )

  include('simple_html_dom.php'); $html = file_get_html('remotesite.com/page1.html'); foreach($html->find('table td') as $td) { $td->innertext = $td->innertext . '
New Div
'; }

Além disso, modifique apenas td s aqueles têm class=category

  foreach($html->find('table td.category') as $td) { $td->innertext = $td->innertext . '
New Div
'; }

E você está pronto. Aviso

New Div

, é apenas um exemplo, esperança, você pode fazê-lo de acordo com sua necessidade.

Resultado possível do exemplo:

 
Video Sports: Motor Sports
New Div
Video Sports: Motor Sports
New Div

JAKERY

se você deseja inserir a div no final de cada td use append ()

 $('td').append('
Test
');

No início de cada td use prepend

 $('td').prepend('
Test
');

Para mais informações, o site jquery