2011-01-10 23 views
5

Update1: Przy pełnym kodem źródłowym:Jak usunąć znacznik HTML za pomocą PHPQuery?

$html1 = '<div class="pubanunciomrec" style="background:#FFFFFF;"><script type="text/javascript"><!-- 
google_ad_slot = "9853257829"; 
google_ad_width = 300; 
google_ad_height = 250; 
//--> 
</script> 
<script type="text/javascript" 
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
</script></div>'; 

$doc = phpQuery::newDocument($html1); 
$html1 = $doc->remove('script'); 
echo $html1; 

Kod źródłowy jest to wyżej. Przeczytałem także, że istnieje błąd, http://code.google.com/p/phpquery/issues/detail?id=150 Nie wiem, czy jest rozwiązany.

Wszelkie wskazówki, jak usunąć < skrypt> z tego kodu HTML?

Pozdrawiam,


Hi,

muszę usunąć wszystkie < skryptów> znaczniki z dokumentu HTML przy użyciu PhpQuery.

Zrobiłem następujące:

$doc = phpQuery::newDocument($html); 

$html = $doc['script']->remove(); 
echo $html; 

Nie jest usunięcie < skrypt> tagi i zawartość. Można to zrobić za pomocą PhpQuery?

Pozdrawiam,

Odpowiedz

10

to działa:

$html->find('script')->remove(); 
echo $html; 

To nie działa:

$html = $html->find('script')->remove(); 
echo $html; 
6

z dokumentacji to wygląda jak byś to zrobić:

$doc->remove('script'); 

http://code.google.com/p/phpquery/wiki/Manipulation#Removing

EDIT:

Wygląda na to, że to błąd w PHPQuery to działa zamiast:

$doc->find('script')->remove(); 
+0

Witam, dzięki za odpowiedź. To nie działa. Jakieś dodatkowe wskazówki? Pozdrawiam, –

+0

Powinieneś podać więcej informacji do przetestowania. Czy możesz podać kod HTML? –

+0

Zaktualizowałem kod. Jakieś wskazówki? Pozdrawiam, –

1

Miałem nadzieję, że coś prostego zadziała pq ('td [colspan = "2"]') -> remove ('b'); Niestety nie zadziałało, jak miałem nadzieję. Przebiegłem przez ten stackoverflow i wypróbowałem to, co wspomniano bez powodzenia.

To właśnie dla mnie zadziałało.

$doc = phpQuery::newDocumentHTML($html); 
// used newDocumentHTML and stored it's return into $doc 

$doc['td[colspan="2"] b']->remove(); 
// Used the $doc var to call remove() on the elements I did not want from the DOM 
// In this instance I wanted to remove all bold text from the td with a colspan of 2 

$d = pq('td[colspan="2"]'); 
// Created my selection from the current DOM which has the elements removed earlier 

echo pq($d)->text(); 
// Rewrap $d into PHPquery and call what ever function you want