找到包含单词的div类

时间:2016-05-14 09:41:59

标签: php html

我想找到带有班级名称的div,但我没有全班名。例如:

$html = file_get_contents($_POST['url']);
$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$result = '';
foreach($xpath->evaluate('//div[@class="article"]/node()') as $childNode) {
  $result .= $dom->saveHtml($childNode);
}

查找div的代码:

printf("%s\n", my_array[i]);

我想找到div,哪个类包含单词" article"。请帮忙。

2 个答案:

答案 0 :(得分:0)

您可以在XPath中使用contains

$xpath->evaluate('//div[contains(@class, "article")]/node()')

测试:

<?php
$html = '<div class="article_main">Article</div>';
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$result = '';
foreach($xpath->evaluate('//div[contains(@class, "article")]/node()') as $childNode) {
  $result .= $dom->saveHtml($childNode);
}
echo $result;

输出:

Article

答案 1 :(得分:0)

是否要在服务器端完成?如果不是,那么你可以用jQuery来做,它只是:

var results = $(div).filter(function(){ return $(this).hasClass('whatever'); /* whatever is class name here */ });

var results = $(div).filter(function(){ return $(this).text().indexOf("text to search for") !== -1 });

对于服务器端处理,只需使用AJAX将其发送到您的PHP代码