регулярное выражение для email

349
09 мая 2017, 06:40

Почему, после обработки, емайлы не становятся ссылками?

<?php
    $text = "Привет от somebody@mail.ru, а также от other@mail.ru";
    $html = preg_replace(
        '/(\s+)@([a-z0-9.]+)/is',
        '<a href="mailto:$0">$0</a>',
        $text
    );
    echo $html;
?>
Answer 1

Регулярное выражение не верно у вас, попробуйте использовать другое, могу посоветовать свое:

$text = "Привет от somebody@mail.ru, а также от other@mail.ru";
$html = preg_replace(
    '/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/i',
    '<a href="mailto:$0">$0</a>',
    $text
);
echo $html;
READ ALSO
Как вывести на экран содержимое вектора?

Как вывести на экран содержимое вектора?

В этом фрагменте программы я в силах вывести размерность вектора, но как вывести его содержимое?

455
Способ хранения координат фишек

Способ хранения координат фишек

Пишу бота, который будет играть в простейшую игруВ начале каждого хода из файла считывается игровое поле, которое представляет собой матрицу...

257
Как распарсить код

Как распарсить код

Добрый день! Имеется текст, который содержит код на с++Код состоит из описании нескольких классов(может быть наследование и полиморфизм) и основной...

235
Проблема с выводом кириллицы в консоль C++

Проблема с выводом кириллицы в консоль C++

В проекте исходные файлы в UTF8 кодировке, поменять нельзя, мне нужна именно эта кодировкаПри попытке вывести в консоль русские буквы, получаю...

305