#php #loops #foreach
#php #циклы #foreach
Вопрос:
С помощью следующего кода я сопоставляю строку из 9 цифр. Я успешно возвращаю первый экземпляр без использования цикла, но я хотел бы просмотреть всю страницу и вернуть каждую 9-значную строку, и пока он этого не делает. Он возвращает только NULL
.
$source = file_get_contents($url);
preg_match('/cd=([0-9]{9})/', $source, $match);
foreach ($match[1] as $output)
{
echo $output;
}
Комментарии:
1. Не забывайте о
d
ярлыке 🙂
Ответ №1:
Используйте preg_match_all
.
preg_match() возвращает количество совпадений с шаблоном. Это будет либо 0 раз (совпадений нет), либо 1 раз, потому что preg_match() прекратит поиск после первого совпадения. preg_match_all() наоборот, будет продолжаться до тех пор, пока не дойдет до конца темы. preg_match() возвращает FALSE, если произошла ошибка.
$match
Массив может выглядеть по-другому, поэтому вам придется настроить свой цикл.