Как найти номер телефона в строке?
Есть строка типа
example text <a href="tel:1234567">123567</a> other tags
Как получить номер телефона? То есть то что после tel: и до ".
Буду благодарен за помощь!
Ответы (2 шт):
Автор решения: Сергей Мишин
→ Ссылка
Можно использовать объект DOMDocument (https://www.php.net/manual/ru/domdocument.loadhtmlfile.php) и работу с ним. Например получение элемента по тегу, у которого взять атрибут, у которого взять номер за счёт вспомогательных функций:
<?php
$myhtml = <<<EOF
<html>
<head>
<title>My Page</title>
</head>
<body>
<p><a href="tel:1234567">Hello World!</a></p>
<p><a href="tel:95798846">Another Hello World!</a></p>
</body>
</html>
EOF;
$doc = new DOMDocument();
$doc->loadHTML($myhtml);
$tags = $doc->getElementsByTagName('a');
foreach ($tags as $tag) {
echo explode(':', $tag->getAttribute('href'))[1] . "\n";
}
output:
1234567
95798846
Автор решения: Haku Kimura
→ Ссылка
С помощью регулярного выражения:
$string = 'example text <a href="tel:1234567">123567</a> other tags';
preg_match_all('/<a href="tel:(\d+)">/', $string, $matches);
print_r($matches[1]);
// Выведет следующее:
// Array(
// [0] => 1234567
// )