$re = '/^.*?(\+?(?:\d{11,14})|(?:\d{5}\s(?:\d{3}\s\d{3}|\d{6}))|(?:\d{3}(?:\s\d{3}){3})|(?:\d{4}\s\d{3}\s\d{3})).*$/m';
$str = 'This is sample. 775 657 7576 sample
Second sample line. 661-525-5366 sample 123
Third line sample 466.755.7888.
07123452670
07812 345 931
07412 123466
00447912345188
+971557017442
+971 557 856 832
0414 934 993
So basically, I need a regex for matching 11 digits. (07123456270)
Matching 5 digits, followed by space, followed by 3 digits, followed by space, followed by 3 digits. (07812 345 931)
Matching 5 digits, followed by space, followed by 6 digits (07412 123466)
Matching 14 digits (12345678901234)
Matching a + sign followed after with 12 digits (+971557017442)
Matching + followed with 3 digits, space, followed by 3 digits, space, 3 more digits (+971 557 856 832)
Last one, 4 digits, space, 3 digits, space, 3 digits. (0414 934 993)
Someone please help';
$subst = "$1";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php