Как получить только первое дублированное выражение с другим значением с помощью регулярного выражения? - PullRequest
0 голосов
/ 31 марта 2020

Я собираю данные с автомобильного сайта на веб-сайт клиента с помощью плагина Octolook Scrapes для Wordpress. Все отлично работает с двумя исключениями! Проблема в том, что я получаю дублированные выражения с другим значением. Но только первое дублированное выражение имеет правильное значение.

пример:

<div class="AdData AdDataZero Data8">
<div class="AdDataLeft">First registration: 5 / 2012 </p>                                      
<div class="AdData AdDataZero Data5">
<div class="AdDataLeft">First registration: 5 / 2010 </p>
<div class="AdData">
<div class="AdDataLeft">Produstion year: 2012 </p>
<div class="AdData AdDataZero DataZero1">
<div class="AdDataLeft">Mileage: 187356 </p>
<div class="AdData AdDataZero DataZero2">
<div class="AdDataLeft">Mileage: 156356 </p>                                                  
<div class="AdData">
<div class="AdDataLeft">Technical inspection: 5/2020 </p>

Проблема с " Первая регистрация " и " Пробег " ! Оба дублируются по какой-то странной причине, но верны только первые значения «Первая регистрация» и «Милеж». И теперь мне интересно, чтобы получить только первое выражение с правильным значением?

1 Ответ

0 голосов
/ 01 апреля 2020

preg_match всегда будет соответствовать первому вхождению:

$html = '<div class="AdDataLeft">First registration: 5 / 2012 </p>' .
  '<div class="AdData AdDataZero Data5">' . 
  '<div class="AdDataLeft">First registration: 5 / 2010 </p>';

preg_match('/First registration: (\d+ \/ \d+)/', $html, $m);

echo $m[1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...