PHP - 使用正则表达式从字符串中提取数据

时间:2014-02-13 10:17:11

标签: php regex api extract nessus

我需要帮助才能执行此操作。我有一个这样的字符串:

<!doctype html> <html> <head> <meta charset="utf-8"> <title>Formatting the report</title><meta http-equiv="refresh" content="5;url=/file/xslt/download/?fileName=somename.pdf"> </head>

我需要提取fileName参数。这该怎么做?

我可以使用正则表达式,但我不太清楚这一点。

谢谢!

3 个答案:

答案 0 :(得分:1)

试试这个..

这将捕获文件名

模式如下:

/fileName=(.+?)\"/

<?php
$subject = "<!doctype html> <html> <head> <meta charset="utf-8"> <title>Formatting the report</title><meta http-equiv="refresh" content="5;url=/file/xslt/download/?fileName=somename.pdf"> </head>";
$pattern = '/fileName=(.+)"/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 2);
print_r($matches);
?>

$ 1-&gt;包含文件名

demo

答案 1 :(得分:0)

尝试以下方面的内容:

$str = '<!doctype html> <html> <head> <meta charset="utf-8"> <title>Formatting the report</title><meta http-equiv="refresh" content="5;url=/file/xslt/download/?fileName=somename.pdf"> </head>';

preg_match('@fileName=(.*)"@', $str, $matches);

print_r($matches);

答案 2 :(得分:0)

php simple html dom是跟踪html的简洁方法,并且可以通过选择器(如Jquery选择器)查找html元素。