Как выдернуть математические значение из текста с текстом и тэгом?

Для извлечения математических значений из текста с тегами в PHP можно использовать регулярные выражения и функцию preg_match_all.

Прежде всего, необходимо получить текст с тегами. Это можно сделать, например, с помощью функции file_get_contents, которая читает содержимое файла по его имени или URL:

$textWithTags = file_get_contents('file.html');

Затем можно использовать функцию preg_match_all для извлечения математических значений из текста. Регулярное выражение должно быть настроено таким образом, чтобы оно находило релевантные выражения, исключая остальное содержимое.

Например, если вам нужно извлечь все числа, следующие за словом "математика" внутри тегов <p>, вы можете использовать следующий код:

$pattern = '/<p>.*?(математика).*?(d+)/i';
preg_match_all($pattern, $textWithTags, $matches);

В этом примере используется регулярное выражение /<p>.*?(математика).*?(d+)/i, которое ищет открывающий тег <p>, за которым следует любой текст, затем слово "математика", затем любой текст и, наконец, численное значение. Флаг /i указывает на то, что поиск выполняется без учета регистра.

Результатом функции preg_match_all является массив $matches, который содержит все найденные соответствия. Числовые значения будут доступны второй группе (индекс 2) массива $matches.

Вы можете перебрать все найденные значения с помощью цикла и выполнить нужные вам действия, например:

foreach ($matches[2] as $value) {
    // Действия с найденным числовым значением
    echo $value . "n";
}

Этот пример выведет все найденные числа в консоли.

Обратите внимание, что регулярные выражения имеют свои ограничения и могут быть не надежными в некоторых случаях. Если структура текста может меняться, алгоритм выделения значений может потребовать дополнительных настроек или изменений.