简体   繁体   English

从PHP简单HTML DOM解析器中删除html标签

[英]Delete html tags from PHP Simple HTML DOM Parser

I wanna delete some words from simple_html_dom when get external data (eg name of Author or name of website ) from this code: ` 当我想从此代码获取外部数据(例如作者名或网站名)时,我想从simple_html_dom中删除一些单词:

<?php
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

include('simple_html_dom.php');  
$html = new simple_html_dom();

// Create DOM from URL or file


$html = file_get_html('http://www.example.com');       

$myContent = $html->find('table', 0)->plaintext;
echo $myContent;

I don't know how can do it (delete flowing code from a table from url) 我不知道该怎么办(从url表中删除流代码)

  <tr style="background: #ffd700;color:black;">

    <td colspan="5">**delete this words from table..**   
    </td></tr>

you can also delete directly from the dom the innertext between your TD 您也可以直接从dom中删除TD之间的内部文本

$html->find('table tr')->children(NUMBER OF THE TD TO EMPTY)->innertext = '';

here is the doc for simpleHtmlDomParser 这是simpleHtmlDomParser的文档

http://simplehtmldom.sourceforge.net/manual.htm#section_traverse http://simplehtmldom.sourceforge.net/manual.htm#section_traverse

there is a table here I'm going to delete this td <td colspan="5"> all html files is here: 这里有一个表,我要删除此td <td colspan="5">所有html文件都在这里:

    <table cellspacing="6px" border="0px" cellpadding="0" align="center" width="670px" style="font-size:16pt;font-weight:bold;font-family:times new roman;margin-top:0px;border:1px solid #666666;text-align:center;">
<tbody><tr><td colspan="4">text 1
</td></tr><tr style="background: #ffd700;color:black;">

<td colspan="5">text for delete‌   
</td></tr><tr style="background: #fdfdad">
<td colspan="5" style="font-size:13pt;">text2
</td></tr><tr style="background: #ffffcc">
<td colspan="2">text3
</td><td>text4
</td><td>text5
</td></tr><tr style="background: #fdfdad">
<td width="35px"><img src="PIC/PNG/UnitedStates-01.png" width="33" height="22">
</td><td>text6
</td><td>3015
</td><td>2990
</td></tr><tr style="background: #ffffcc">
<td><img src="PIC/PNG/Europe-01.png" width="33" height="22">
</td><td>text7
</td><td>4100
</td><td>4072
</td></tr><tr style="background: #fdfdad">
<td><img src="PIC/PNG/Canada-01.png" width="33" height="22">

</td><td>2436
</td><td>2366
</td></tr></tbody></table>

How to delete a td from a table in the simple_html_dom ? 如何从simple_html_dom中的表中删除td?

In my case, I'm grabbing a table, and needed to remove the tfoot. 以我为例,我正在抓一张桌子,需要卸下脚踏板。 Did so like: 像这样:

include("simple_html_dom.php");
$html = str_get_html($curl_response_html); // load html from string
$wtable = $html->find('table[id=sometableid]',0); // get table by id
$wtable->find('tfoot',0)->outertext=''; // find the element in the table and remove it
echo $wtable;

In your case, if you want to remove the whole row and you know the table row number, you can do something like: 对于您的情况,如果要删除整行并且知道表的行号,则可以执行以下操作:

$wtable = $html->find('table[id=sometableid]',0); // get table by id
$wtable->find('tr',0)->outertext=''; // find the element in the table and remove it

Where 'tr', 0 that would remove the first row, and 'tr', 3 would remove the fourth row. 其中'tr', 0将删除第一行, 'tr', 3将删除第四行。

Or even: 甚至:

$wtable = $html->find('table[id=sometableid]',0); // get table by id
$wtable->find('td[colspan=5]',0)->innertext=''; // find the element and remove its contents

That would get the first cell with colspan 5 and remove its contents. 那将得到第一个带有colspan 5的单元并删除其内容。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM