<?php
//some dummy logic before this
$text = "
Карта Сбербанк - 5469550021126526
Номер кошелька: 41001194625877
Москва. 31.03.2018г.
Зароботок 3000$
";
$text2 = '';
$text3 = "Карта Сбербанк - 5469550021126526
Оплата Яндекс деньги :+7(903)888-88-88
Номер кошелька: 41001194625877
Киви Кошелек - +79119068771
Кошелек - +380119068771
Тел +972 54 77 22 765
Москва. 31.03.2018г.
Зароботок 3000$
+7-906-107-97-10";
//other dummy logic after this
//weird phoneNumber parser
/**
* Parse phone numbers in international format from text
*
* @param string $textString text to parse from
*
* @returns array $phones array with parsed phone numbers (empty if nothing found)
*/
function getPhoneNumbers($textString = '')
{
$phones = [];
if (empty($textString)) return $phones;
preg_match_all('/(\+[\s\-\(\)0-9]+)(\n|$)/', $textString, $matches);
foreach ($matches[0] as $match) {
$match = trim($match);
$match = str_replace(['(',')','-',' '], '', $match);
$phones[] = $match;
}
return $phones;
}
//dummy calls to parse function to test it
var_dump('Нет телефонов в тексте:');
var_dump(getPhoneNumbers($text));
var_dump('Пустой текст:');
var_dump(getPhoneNumbers($text2));
var_dump('Есть телефоны в тексте:');
var_dump(getPhoneNumbers($text3));
<?php
$text = "Карта Сбербанк - 5469550021126526
Оплата Яндекс деньги :+7(903)888-88-88
Номер кошелька: 41001194625877
Киви Кошелек - +79119068771
Кошелек - +380119068771
Тел +972 54 77 22 765
Москва. 31.03.2018г.
Зароботок 3000$
+7-906-107-97-10";
preg_match_all('/(\+[\s\-\(\)0-9]+)(\n|$)/', $text, $matches);
foreach ($matches[0] as &$match) {
$match = trim($match);
$match = str_replace(['(',')','-',' '], '', $match);
}
var_dump($matches[0]);
array(5) {
[0]=>
string(12) "+79038888888"
[1]=>
string(12) "+79119068771"
[2]=>
string(13) "+380119068771"
[3]=>
string(13) "+972547722765"
[4]=>
&string(12) "+79061079710"
}