我的客户端,有542个php文件(是的很多),每个文件都调用iframe,每个参数都有一定的参数。 所以我想让这个更有效率,并将所有文件转换为数据库,但为此我需要获得2件事
我展示了iframe示例
<iframe src="http://www.todobariloche.com/shop/xml_galeria1.php?cat=1044&cant=21&ord=MAS_OFERTADOS&pais=MLA" name="nombre_frame" width="500" height="1000" id="nombre_frame" border="0"> </iframe>
我希望有人可以帮助我,我只需要PHP中的preg匹配。
提前致谢。
答案 0 :(得分:4)
如果这是一次性的工作,那么你可以用grep和正则表达式来破解它。
$doc = DOMDocument::loadHTML($page);
$xp = new DOMXPath($doc);
$src = $xp->evaluate('string(//iframe/@src)');
$title = $xp->evaluate('string(//title)');
答案 1 :(得分:1)
这样的事情应该可以胜任:
if (preg_match("/http:\/\/www\.todobariloche\.com\/shop\/xml_galeria1\.php\?cat=(.*?)&cant=(.*?)&ord=(.*?)&pais=([^\"]*)/i", $pageData, $parameters)) {
// $parameters[1] and on now contains the matched patterns.
}
.*?
表示模式捕获应该是不合适的。 ([^\"]*)
只是一种阻止它在src属性结束后捕获任何内容的方法。
/<title>(.*?)</title>/i
应该为标题工作。