Я хотел бы заменить URL-адреса на странице с curl в php.preg_replace url для получения id
Адрес:
http://www.externalwebsite.com/title-of-the-page-192345.htm
Я использую $url = preg_replace('~a href="([a-z,.\-]*)~si', '"', $url);
Это дает мне идентификатор правильно, но если любой другой числовой символ используется в названии
, например;
http://www.externalwebsite.com/title-of-the-3-page-192345.htm
это дает мне;
3-page-192345
мощность. Как я могу получить правильный идентификатор страницы в этой ситуации. Спасибо.
UPDATE:
Мне нужно заменить URLs на странице принятого завитка с другого сайта. Урлы похожи на написанные выше.
<?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;
?>
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>
И этот HTML должно быть что-то вроде, что после команды 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