Моя загадка: будучи новичком в PHP, я пытаюсь извлечь некоторые данные из строки с помощью регулярного выражения, но не могу найти правильный синтаксис.
Содержимое строки записывается в виде HTML несколькихизображения с веб-сайта, я хочу, чтобы конечный результат был 3 отдельных переменных: "$ Number1", "$ Number2" и "$ Status".
Пример содержимого входной строки $ html:
<div id="system">
<img alt="2" height="35" src="/images/numbers/2.jpg" width="18" /><img alt="2" height="35" src="/images/numbers/2.jpg" width="18" /><img alt=".5" height="35" src="/images/numbers/point5.jpg" style="margin-left: -4px" width="26" /><img alt="system statusA" height="35" src="/images/numbers/statusA.jpg" width="37" /><img alt="2" height="35" src="/images/numbers/2.jpg" width="18" /><img alt="1" height="35" src="/images/numbers/1.jpg" width="18" /><img alt=".0" height="35" src="/images/numbers/point0.jpg" style="margin-left: -4px" width="26" />
</div>
Возможные значения, которые могут отображаться в этой строке:
- 0.jpg
- 1.jpg
- 2.jpg
- 3.jpg
- 4.jpg
- 5.jpg
- 6.jpg
- 7.jpg
- 8.jpg
- 9.jpg
- point0.jpg
- point5.jpg
- statusA.jpg
- statusB.jpg
- statusC.jpg
- statusD.jpg
- statusE.jpg
- statusF.jpg
Результатом должны быть переменные:
- "Число 1" (XX.X) на основе первых двух чисел (0-9) и .0 или .5
- "Статус "(statusX) на основе статуса
- " Number2 "(XX.X) на основе последних двух чисел (0-9) и .0 или .5
Коддо сих пор:
$regex = '\balt='(.*?)';
preg_match($regex,$html,$match);
var_dump($match);
echo $match[0];
Возможно, я должен сделать это в несколько шагов или использовать другую функцию, кто мне может помочь?