所以我想说:
<?php
$template = '<img src="{image}" editable="all image_all" />';
$template .= '<div>';
$template .= '<img src="{image}" editable="yes" />';
$template .= '</div>';
?>
现在我想要的是让脚本遍历包含{image} src的所有元素并检查其中是否有任何元素
editable="all"
属性。
如果是这样:获取第二个可编辑属性,例如
image_all
并将其包含在src中。
答案 0 :(得分:1)
使用评论Simple HTML DOM Parser上建议的库:
可以简化此任务这很容易:
$images = array(); //an array for your images with {image} in src
$html = "...";
foreach($html->find('img') as $element)
if($element->src == '{image}') {
//add to the collection
$images[] = $element;
}
//Also you can compare for the editable attribute same way as above.
}
答案 1 :(得分:0)
如果你想获得第二个可编辑的attr并将其保存在像$ src这样的数组中,请检查以下代码:
$content=new DOMDocument();
$content->loadHTML($template);
$elements=simplexml_import_dom($content);
$images=$elements->xpath('//img');
foreach ($images as $img) {
if(preg_match('/all /i', $img['editable']))
$src[]=substr($img['editable'],4) ;
}
print_r($src);
将输出:
Array ( [0] => image_all )
答案 2 :(得分:0)
试试这个,
include('simple_html_dom.php');
$html = str_get_html('<div><img src="{image}" editable="all image_all" /><img src="{image}" editable="yes" /></div>');
$second_args= array();
foreach($html->find('img[src="{image}"]') as $element){
$editables = explode(' ',$element->editable);
if($editables[0] === "all"){
$second_args[] = $editables[1];
}
}
print_r($second_args);