我正在使用Php Html Dom Parser来获取元素。但它并没有获得内在文本的元素。请参阅以下代码;
$html = file_get_html($currentFile);
foreach($html->find('style') as $e){
echo $e->plaintext;
}
我有这种类型的页面CSS代码
<style type="text/css">
ul.gallery li.none { display:none;}
ul.gallery { margin:35px 24px 0 19px;}
</style>
<!--<![endif]-->
<style type="text/css">
body { background:#FFF url(images/bg.gif) repeat-x;}
</style>
我想用内部文本获取每个元素。
由于
答案 0 :(得分:5)
您在定位style
标记时已经正确了。但是您需要使用->innertext
magic属性来获取值。考虑这个例子:
include 'simple_html_dom.php';
$html_string = '<style type="text/css">ul.gallery li.none { display:none;}ul.gallery { margin:35px 24px 0 19px;}</style><!--<![endif]--><style type="text/css">body { background:#FFF url(images/bg.gif) repeat-x;}</style>';
$html = str_get_html($html_string); // or file_get_html in your case
$styles = array();
foreach($html->find('style') as $style) {
$styles[] = $style->innertext;
}
echo '<pre>';
print_r($styles);
$styles
应输出:
Array
(
[0] => ul.gallery li.none { display:none;}ul.gallery { margin:35px 24px 0 19px;}
[1] => body { background:#FFF url(images/bg.gif) repeat-x;}
)