作者:风之淡然1_925 | 来源:互联网 | 2023-09-15 19:28
基本上我正在尝试使用preg_match查找带有PDF附件的所有链接,然后将整个url添加到数组中.我正在努力的部分是如何在比赛前选择所有内容,直到的“引号”.我
基本上我正在尝试使用preg_match查找带有PDF附件的所有链接,然后将整个url添加到数组中.我正在努力的部分是如何在比赛前选择所有内容,直到的“引号”.我想这样做,这样我就可以循环遍历数组,并为每个文档做我需要的任何事情.我只想在数组中得到’1234.pdf'(以及任何子目录信息).
有任何想法吗?
这是我到目前为止,它只返回比赛…
$string1 = "Document 1";
$match = preg_match("/.pdf/i", $string1, $output);
谢谢
解决方法:
您应该使用DOM解析器来提取该信息,因为它更容易,而且更安全.然后你可以使用preg_match来检查链接是否实际上是PDF:
$html = 'Foo'.
'Bar'.
'Baz';
$dom = new DOMDocument;
$dom->loadHTML($html);
$links = $dom->getElementsByTagName('a');
$result = array();
foreach ($links as $link) {
$href = $link->getAttribute('href');
if (preg_match('/\.pdf$/i', $href)) $result[] = $href;
}
print_r($result);
输出:
Array
(
[0] => foo.pdf
[1] => baz.pdf
)