使用PHP在文档中使用给定的类名查找和替换html元素内容
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用PHP在文档中使用给定的类名查找和替换html元素内容,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2045字,纯文字阅读大概需要3分钟。
内容图文
我正在为我的网站开发一个轻量级的内联内容编辑器.类似于CushyCMS或SurrealCMS,我页面的’editable’元素定义为class =“ editable”.
我想通过AJAX将2个变量传递给php:
$page要写入的文档(例如’/path/index.html’)
$json一个json字符串:{“ 0”:“第一内容”,“ 1”:“第二内容”,“ 2”:“第三内容”},其中键是class =“ editable”的所有元素的索引,并且该值是每个元素的innerHTML.
在PHP 5.3中,如何打开$page并查找/替换class =“ editable”元素?
$page = $_POST['page'];
$json = $_POST['json'];
$doc = new DOMDocument();
$doc = DOMDocument::loadHTMLFile($page);
// Detect DOM elements with class="editable" & replace content with JSON data
// Save changes to designated file
$doc->saveHTMLFile($page); // Write to file eg, 'index.html'
echo ('Success');
解决方法:
您可以使用XPath来跟踪DOM中的所有可编辑元素.
$xpath = new DOMXPath($doc);
$entries = $xpath->query('//*[@class="editable"]');
$edits = json_decode($json, true);
$num_edits = count($edits);
for($i=0; $i<$num_edits; $i++)
{
$f = new DOMDocument();
$edit = mb_convert_encoding($edits[$i], 'HTML-ENTITIES', "UTF-8");
$f->loadHTML($edit);
$node = $f->documentElement->firstChild;
$entries->item($i)->nodeValue = "";
foreach($node->childNodes as $child) {
$entries->item($i)->appendChild($doc->importNode($child, true));
}
}
这里还是您原始代码的上下文:
$page = $_POST['page'];
$json = $_POST['json'];
$doc = new DOMDocument();
$doc = DOMDocument::loadHTMLFile($page);
// Detect DOM elements with class="editable" & replace content with JSON data
$xpath = new DOMXPath($doc);
$entries = $xpath->query('//*[@class="editable"]');
$edits = json_decode($json, true);
$num_edits = count($edits);
for($i=0; $i<$num_edits; $i++)
{
$f = new DOMDocument();
$edit = mb_convert_encoding($edits[$i], 'HTML-ENTITIES', "UTF-8");
$f->loadHTML($edit);
$node = $f->documentElement->firstChild;
$entries->item($i)->nodeValue = "";
foreach($node->childNodes as $child) {
$entries->item($i)->appendChild($doc->importNode($child, true));
}
}
// Save changes to designated file
$doc->saveHTMLFile($page); // Write to file eg, 'index.html'
echo ('Success');
内容总结
以上是互联网集市为您收集整理的使用PHP在文档中使用给定的类名查找和替换html元素内容全部内容,希望文章能够帮你解决使用PHP在文档中使用给定的类名查找和替换html元素内容所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。