Skip to content

Instantly share code, notes, and snippets.

@taisang1996
Created June 27, 2017 05:59
Show Gist options
  • Save taisang1996/b2da925260233995159970c7781773f7 to your computer and use it in GitHub Desktop.
Save taisang1996/b2da925260233995159970c7781773f7 to your computer and use it in GitHub Desktop.
<?php
/**
* Make email clickable
*
* @author Nguyen Tan Tai <taisang1996@gmail.com>
* @param string Input text
* @param boolean Want add <span> inside <a>?
* @return string Replaced string format with link or link span
*/
function makeEmailClickable($input, $span = false) {
$regex = '/\w+@\w+\.\w+/';
$formatLink = function($matches) {
return "<a href=\"mailto:$matches[0]\">$matches[0]</a>";
};
$formatLinkSpan = function($matches) {
return "<a href=\"mailto:$matches[0]\"><span>$matches[0]</span></a>";
};
$format = $span ? $formatLinkSpan : $formatLink;
return preg_replace_callback($regex, $format, $input);
}
$input = <<<EOD
taisang1996@gmail.com
ngthiminhthu121@gmail.com
taisang19962gmail.com
taisang1996#gmail.com
taisang1996\$gmail.com
taisang1996@gmail,com
taisang1996@gmail/com
taisang1996@gmail\com
taisang1996@gmail*com
01234432132
EOD;
var_dump($input);
var_dump(makeEmailClickable($input));
var_dump(makeEmailClickable($input, true));
@thanhansoft
Copy link

Good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment