当谈到正则表达式时,我是一个菜鸟,而且对PHP也不是很好。
我使用此代码从其他网址复制内容:
<?php
$conts = file_get_contents('http://www.curtisjohnsonrealtyaz.com');
$pattern = '~<div.*id="home-right".*>(.*?)</div>~iUs';
preg_match($pattern, $conts, $matches);
array_shift($matches);
echo $matches[0];
?>
除了额外的换行符之外它工作得很好,并且还将锚定的图像链接替换为当前的URL。
我真的很感激一些帮助。
由于
答案 0 :(得分:0)
尝试在模式中添加“m”标志,这样可以使其跨越换行符(多线模式)。
答案 1 :(得分:0)
您应该使用dom解析器来解析html,PHP Simple HTML DOM Parser是一个不错的选择。
代码:
include("simple_html_dom.php");
$html = file_get_html('http://www.curtisjohnsonrealtyaz.com');
$div = $html->getElementById("home-right")->innertext;
echo $div;
PHP简单的HTML DOM解析器意味着更少的代码和一致的结果:)