我想用curl在php中替換頁面中的url。preg_replace url獲取編號
網址喜歡;
http://www.externalwebsite.com/title-of-the-page-192345.htm
我用$url = preg_replace('~a href="([a-z,.\-]*)~si', '"', $url);
這給了我的ID正確的,但如果在標題中使用的任何其他數字字符
例如;
http://www.externalwebsite.com/title-of-the-3-page-192345.htm
它給了我;
3-page-192345
輸出。在這種情況下,如何獲得頁面的正確ID。謝謝。
UPDATE:
我需要從其他網站採取的捲曲的頁面替換的URL。網址就像上面寫的一樣。
<?php
$ch = curl_init ("http://www.externalwebsite.com/index.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($ch);
preg_match('#<div class="headline"[^>]*>(.+?)</div>#is', $page, $matches);
foreach ($matches as &$match) {
$match = $match;
}
$html=$matches[1];
$html = preg_replace('~a href="([a-z,.\-]*)~si', '"', $html); //NEED TO CHANGE THIS
echo $html;
?>
curl沒有任何preg_replace後頁面的HTML代碼是這樣的;
<div class="swiper-slide red-slide">
<div class="title"><a href="http://www.externalwebsite.com/title-of-the-3-page-192345.htm" class="image">
<img src="http://www.externalwebsite.com/d/news/94406.jpg"/></a></div></div>
而這個網站一定是類似的東西了preg_replace命令後:
<div class="swiper-slide red-slide">
<div class="title"><a href="http://www.mywebsite.com/read_curl_page.php?id=192345" class="image">
<img src="http://www.externalwebsite.com/d/news/94406.jpg"/></a></div></div>
你只需要'.htm'之前的最後一個數字?需要調整RegExp我認爲... ...非常規模式匹配或類似的東西'。* - ([0-9])+ \。htm' – CD001