Как в php отделить номер от текста

181
25 августа 2018, 15:20

Привествую,есть код:

<?php
    $file_handle = fopen("file.txt", "r");
    while (!feof($file_handle)) {
       $line = fgets($file_handle);
       $line = preg_replace("/[^0-9]/", '', $line);
        echo "<pre>\n" . $line . "\n</pre>\n";
    }
    fclose($file_handle);
    ?>
и есть файл со строками текста и цифрами например :viber +380633333303 работаем до 15 00 .. как выбрать только слово viber и номер телефона, а не получить в итоге.... +3806333333031500 одной строкой ?
    <?php
    $file_handle = fopen("file.txt", "r");
    while (!feof($file_handle)) {
       $line = fgets($file_handle);
    preg_match('~\pL+\s\+\d+~', $file_handle, $line);
        var_dump($line);
    }
    fclose($file_handle);
    ?>
file.txt
  "biography": "Ароматы для дома
Answer 1

как выбрать только слово viber и номер телефона?

Для текущей строки подойдёт следующее решение:

$str = ':viber +380633333303 работаем до 15 00 ';
preg_match('~\pL+\s\+\d+~', $str, $arr);
var_dump($arr);

Результат:

array (size=1)
  0 => string 'viber +380633333303' (length=19)

Можно собрать массив всех номеров:

$fname = 'file.txt';
$array = file_exists($fname) ? file($fname) : [];
$numbers = [];
if (!empty($array)) {
    foreach ($array as $str) {
        if (preg_match_all('~\+\d+~', $str, $arr)) {
            foreach ($arr[0] as $number) {
                $numbers[] = $number;
            }
        }
    }
}
var_dump($numbers);

Результат:

array (size=6)
  0 => string '+380638594585' (length=13)
  1 => string '+380634258077' (length=13)
  2 => string '+380633343919' (length=13)
  3 => string '+380955513649' (length=13)
  4 => string '+380977014922' (length=13)
  5 => string '+380977370300' (length=13)
READ ALSO
Номер телефона аккаунта в инстаграм

Номер телефона аккаунта в инстаграм

Есть id, username и ссылка на аккаунта, необходимо узнать номер телефона владельцаВ instagramm-scrapper порылся в абстрактных моделях, и даже не нашел намека...

187
Чтение из массива объектов

Чтение из массива объектов

Хочу из такого JSON

194
Как принять JSON ответ на PHP?

Как принять JSON ответ на PHP?

На фронте при нажатии на кнопку собираю все данные с форми в JSON и отправляю на сервер

170
Почему не работает id3_get_tag?

Почему не работает id3_get_tag?

Fatal error: Uncaught Error: Call to undefined function id3_get_tag() in /pages\blocks\music\musicphp:101 Stack trace: #0 /\pages\music

193