如何在用php解析html时替换字符串/单词?
我有一张桌子如何在用php解析html时替换字符串/单词?,php,xml,dom,xml-parsing,html-parsing,Php,Xml,Dom,Xml Parsing,Html Parsing,我有一张桌子 <html> <body> <table id="data" class="outer"> <tr><td>Date</td><td>12-09-12</td></tr> <tr><td>Price</td><td>15.00</td></tr>
<html>
<body>
<table id="data" class="outer">
<tr><td>Date</td><td>12-09-12</td></tr>
<tr><td>Price</td><td>15.00</td></tr>
<tr><td>Count</td><td>67</td></tr>
</table>
</body>
</html>
`
$s='1!'
日期12-09-12
价格15.00
计数67
';
$document=新的DOMDocument();
$document->loadHTML($s);
$oElement=$document->getElementById('data');
$tds=$oElement->getElementsByTagName('td');
if('td'==strtolower($tds->item(0)->标记名)和'date'==strtolower($tds->item(0)->nodeValue))
{
回显“旧值:”。$tds->item(1)->nodeValue;
回声“
”;
$tds->item(1)->nodeValue='13-08-11';
echo$document->saveHTML();//输出修改后的HTML
}
?>
`有人能帮我吗?
<html>
<body>
<table id="data" class="outer">
<tr><td>Date</td><td id="date">12-09-12</td></tr>
<tr><td>Price</td><td>15.00</td></tr>
<tr><td>Count</td><td>67</td></tr>
</table>
</body>
</html>
日期12-09-12
价格15.00
计数67
在javascript中:
var date = <?=$_row['date']?>;
$('date').html('date');
var-date=;
$('date').html('date');
可以使用
使用软件包可以这样做。
$s='1!'
日期12-09-12
价格15.00
计数67
';
包括“simple_html_dom.php”;
$html=str_get_html($s);
$html->find('table#data tr td',1)->innertext='13-08-11';
echo$html;
table#data tr td
选择器使用id=“data”
查找表内tr标签中的所有td标签$html->find('table#data tr td',1)
返回找到的第二个元素(索引为1)。您可以控制该表吗?为什么要尝试解析输出???移动到创建页面的代码并在那里修改您的内容。因为此html是电子邮件的内容。我需要解析HtmlTanks,以便您回复它的错误,比如在dashboard/test1.php第16行的非对象上调用成员函数getElementsByTagName()。请发布您的代码,让我看看,我已经测试了我的代码,它对我有效。也许你的HTML是不同的(不包含id=“data”的节点)?我只是复制了你的代码并测试了它的给定错误代码附在我的问题中请检查它是否被复制,没有任何更改
<html>
<body>
<table id="data" class="outer">
<tr><td>Date</td><td id="date">12-09-12</td></tr>
<tr><td>Price</td><td>15.00</td></tr>
<tr><td>Count</td><td>67</td></tr>
</table>
</body>
</html>
var date = <?=$_row['date']?>;
$('date').html('date');
$s = '<html>
<body>
<table id="data" class="outer">
<tr><td>Date</td><td>12-09-12</td></tr>
<tr><td>Price</td><td>15.00</td></tr>
<tr><td>Count</td><td>67</td></tr>
</table>
</body>
</html>';
include 'simple_html_dom.php';
$html = str_get_html($s);
$html->find('table#data tr td', 1)->innertext = '13-08-11';
echo $html;