我一直在嘗試使用正則表達式提取具體URL的鏈接,但失敗我試圖使用下面的正則表達式來提取使用PHP的鏈接。正則表達式如何從HTML提取具體路徑的鏈接
preg_match_all('/\\<a href="(.*?)\\">/', $data1, $matches);
和HTML是這裏只是一個片段
<a href="https://www.website.com/n/?confirm.php" ></a>
整個HTML包含了很多我需要這個鏈接的鏈接。
我一直在嘗試使用正則表達式提取具體URL的鏈接,但失敗我試圖使用下面的正則表達式來提取使用PHP的鏈接。正則表達式如何從HTML提取具體路徑的鏈接
preg_match_all('/\\<a href="(.*?)\\">/', $data1, $matches);
和HTML是這裏只是一個片段
<a href="https://www.website.com/n/?confirm.php" ></a>
整個HTML包含了很多我需要這個鏈接的鏈接。
這將工作,如果我不誤解你的問題。
$html = '<a href="https://www.website.com/n/?confirm.php" ></a>';
preg_match_all('/href="([^\s"]+)/', $html, $match);
print '<pre>';
print_r($match);
print '</pre>';
print $match[1][0];
編輯:根據評論,你沒有提供給我們的特定URL,這就是爲什麼我剛發佈通用的答案捕捉href
。現在看我下面的答案。二手正則表達式將在這裏找到https://regex101.com/r/pnfz7E/1
$re = '/<a href="([^"]*?\/n\/\?confirm\.php)">.*?<\/a>/m';
$str = '<a href="https://www.website.com/n/?noconfirm.php">SSD</a>
<div>How are you</div>
<a href="https://www.website.com/n/?confirm.php">HDD</a>
<h2>Being Sunny</h2>
<a href="https://www.ltmgtfu.com/n/?noconfirm.php">MSD</a>
<div>How are you</div>
<a href="https://www.website.com/n/?confirm.php"></a>
<h2>Being Sunny</h2>
<a href="https://www.google.com/n/?noconfirm.php">GSD</a>
<div>How are you</div>
<a href="https://www.website.com/n/?confirm.php">LSD</a>
<h2>Being Sunny</h2>';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
print '<pre>';
print_r($matches);
print '</pre>';
它會打印所有錨點標記,我將其中一個/n/?confirm.php 設置爲更具體。 –
@OwaisIqbal看看我編輯的答案。我希望它能爲你工作。 –
看看這個:除了XHTML自足標籤的正則表達式匹配開放標籤(https://stackoverflow.com/questions/1732348/regex-match-open-標籤-excel-xhtml-self-contained-tags/1732454#1732454)和這個:[DOMDocument類](http://php.net/manual/de/class.domdocument.php) – insertusernamehere
提取所有網址(首選方法是DOM),然後嘗試'preg_grep'來輸出包含*特定部分*的文件。 – revo
@revo根據你的方式任何答案? –