您好,
我在json中加载一些数据但是我需要根据加载的数据插入一些额外的数据。这是加载数据时的示例
{"markup":"<li id=\"com1\">some content</li><li id=\"com2\">some more content</li>"}
这是预期的最终结果:
<li id="com1">some content <a href="delete=com1">DELETE</a></li>
<li id="com2">some content <a href="delete=com2">DELETE</a></li>
正如您所看到的,我添加了一个删除链接,其中包含一个包含该元素ID的URL,因此我需要一个代码来首先找到该ID,然后将其添加到每个元素的正确位置。
这是我的PHP代码:
$json = file_get_contents("data.txt");
$jsonIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator(json_decode($json, TRUE)),
RecursiveIteratorIterator::SELF_FIRST);
foreach ($jsonIterator as $key => $val) {
echo $val;
}
最好和最简单的方法是什么?
谢谢。
答案 0 :(得分:1)
有parsing html内容的php模块。这可能不是您寻找的答案。但这会给你一些想法。
$str = file_get_contents("data.txt");
$data = json_decode($str,true);
$html = $data["markup"];
$dom = new DOMDocument;
$dom->loadHTML($html);
$lis = $dom->getElementsByTagName('li');
foreach ($lis as $li) {
$a = $dom->createElement('a','DELETE');
$a->setAttribute('href','delete='.$li->getAttribute('id'));
$li->appendChild($a);
}
$final = $dom->saveHTML();
echo $final;