#php #regex
#php #регулярное выражение
Вопрос:
Итак, я пытаюсь извлечь телефонные номера из текстового файла, каждая строка текстового файла представляет один профиль пользователя. Итак, код, который у меня есть до сих пор, открывает текстовый файл, разделяет каждую строку с помощью массива, а затем использует регулярное выражение для поиска телефонных номеров. Мой вопрос в том, как мне разбить результаты регулярных выражений, чтобы я мог сохранить каждое число в переменной? Пока мой код просто показывает мне второй массив, мне нужно что-то вроде второго foreach, поскольку каждая строка пользовательских данных может содержать от 1 до 6 телефонных номеров.
<?php
$array = explode("n", file_get_contents('datasamdata_000030.txt'));
foreach ($array as $string){
echo $string."<br><br><br>";
preg_match_all('/b[0-9]{3}s*[-]?s*[0-9]{3}s*[-]?s*[0-9]{4}b/',$string,$matches);
echo '<pre>';
print_r($matches[0]);
echo '</pre>';
}
Комментарии:
1. просто вставьте второй
foreach
во внешний. Какова ваша конечная цель?. Итак, вы хотите создать шесть переменных, если в одной строке найдено 6 телефонных номеров?2. Да, это было бы правильно, когда я вкладываю другой foreach, я просто получаю кучу ошибок. Позвольте мне попробовать и опубликовать код, чтобы вы могли видеть.
Ответ №1:
Решение для добавления второго foreach и корректного отображения данных..
foreach($matches[0] as $matched) {
echo $matched;
}