preg_match несколько результатов для одной строки [duplicate]

Чтобы использовать методы и член объекта, вам сначала нужно создать этот объект. Если вы его не создали (переменная, которая должна содержать объект, не инициализируется), но вы пытаетесь использовать его методы или переменные, вы получите эту ошибку.

Иногда вы можете просто забыть инициализировать .

Отредактировано: new не может вернуть значение null, но исключение огня при ошибке. Давно это было на некоторых языках, но не больше. Спасибо @John Saunders за указание на это.

8
задан Doug Neiner 8 January 2010 в 20:06
поделиться

1 ответ

Вы хотите использовать preg_match_all() . Вот как он будет выглядеть в вашем коде. Фактическая функция возвращает количество найденных элементов, но массив $matches будет удерживать результаты:

<?php
$string = "/brown fox jumped [0-9]/";

$paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence";

if (preg_match_all($string, $paragraph, &$matches)) {
  echo count($matches[0]) . " matches found";
}else {
  echo "match NOT found";
}
?>

Будет выводиться:

найдено 2 совпадения

26
ответ дан Doug Neiner 31 August 2018 в 16:52
поделиться
  • 1
    Я получаю предупреждение. Время прохода по ссылке устарело. – Dipen 27 September 2015 в 09:44
  • 2
    удалите & quot; & amp; & quot; от "& amp; $ совпадений" – Sami 9 December 2015 в 11:56
Другие вопросы по тегам:

Похожие вопросы: