简单的HTML DOM解析器(其它元素之后插入文本/元)
问题描述:
我使用PHP简单的HTML DOM解析器为我的项目..简单的HTML DOM解析器(其它元素之后插入文本/元)
什么我卡上是目前我如何可以针对/找到的所有文本节点...并添加一个元素,甚至TEXT文本结束..
这是什么我尝试到目前为止..但想通可能有一个更好的(工作)方式? :)
$var = "INSERT TRANSLATION HERE >>";
foreach($html->find('text') as $tn){
//$tn->outertext = $tn->makeup() . $tn->innertext . $var';
$tn->innertext = $tn->innertext . $var;
}
答
你的代码是好的,你刚才忘了叫save
:
$string = "<div id='container'><div>im a text node</div><div>im another</div></div>";
$html = str_get_html($string);
foreach($html->find("text") as $ht) {
$ht->innertext .= "<span>end of each text node</span>";
}
$html->save();
echo $html; // echo modified html
只需用$var
更换<span>
元素。
其实我并不需要$ html-> save();线..它'确实'工作..但是我已经升级到您的运营商(。=)vs我古老的做法之前...(谢谢).. 然而,它最终不工作,因为我打算..有没有办法找到文本节点/元素的结束..(不只是追加到该文本元素内的文本...但找到END并追加一些文本(甚至是一个新的div/p元素? ) 谢谢 – whispers
我对这个'END'的含义感到困惑,用输入'$ string'的例子编辑这个问题,并输出想要的结果,同时注意标签之间的空格是_ALSO_ text节点(这是因为我的标签之间没有空格 – 2014-03-06 09:27:42
我目前正在工作..但END意味着(只是)..文本节点/元素的结束..(不在里面..但在'标签的外部').. 目前,如果我执行上面所示的操作,它可以(例如)采用LINK的TEXT ..并将INSERT var($ var或$ string)添加到该LINK的文本中,因此将其断开..或使它看起来“古怪” 举例: – whispers