0

如何获取文本:“最大文本示例”来自:

<td valign="top" align="left">

    <a href="/server?tree=xabaf"
    class="normal"> Text example max </a>

</td>

使用正则表达式?

include('simple_html_dom.php');
$ch = curl_init('http://www.site.com?id=325235');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$sss = curl_exec($ch);
curl_close($ch);

preg_match_all("#class="normal"?</a>$#", $sss, $arr);
4

3 回答 3

1

使用正则表达式的解决方案

$text = "<a href='/server?tree=xabaf' class='normal'> 最大文本示例</a>
";
$regex_pattern = "/<a href=\"?\'?(.*)\"?\'?>(.*)<\/a>/";
preg_match_all($regex_pattern,$text,$matches);

PHP的DOM

$text = "<a href='/server?tree=xabaf' class='normal'> 文本示例最大值</a>";
$dom = 新的 DOMDocument;
$dom->loadHTML($text);
$links = $dom->getElementsByTagName('a');
foreach ($links 作为 $link){
    回声$链接->文本内容;
}

使用 DOM 而不是正则表达式。

于 2012-06-15T12:26:25.777 回答
0

由于没有其他文字,申请strip_tags()就足够了。

$str ='<td valign="top" align="left">

    <a href="/server?tree=xabaf"
    class="normal"> Text example max </a>

</td>';

$str = trim(strip_tags($str));
于 2012-06-15T12:30:03.317 回答
0

你可以试试这个...

include('simple_html_dom.php');

$url = 'http://www.site.com?id=325235';

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url);  
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);  
$str = curl_exec($curl);  
curl_close($curl);

$html = str_get_html($str);

$content = $html->find('div[class=normal]');
echo $content->innertext;
于 2012-06-15T12:30:28.143 回答