New to Php/Regex code -trying to format a 10 digit phone number with input:
123456
expected result: 123-456-789
various attempts -trying to learn look behind /look ahead - not working (with error messages shown)
code shown below
thanks for your help
Code: Select all
<?php
$phoneno = "1234567890";
$pattern="/(?<=(\d\d\d))(?=(\d\d\d\d)+$)/";
//output: 123456-7890
//$pattern="/(?<=(\d\d\d+)(?=(\d\d\d\d)+$)/";
//Warning: preg_replace() [function.preg-replace]: Compilation failed: missing ) at offset 29 in C:\wamp\www\regex\phone-no.php on line 18
//$pattern="/(?<=(\d\d\d)(\d\d\d)(?=(\d\d\d\d)+$)/";
//Warning: preg_replace() [function.preg-replace]: Compilation failed: missing ) at offset 36 in C:\wamp\www\regex\phone-no.php on line 11
$replacement = "-";
echo preg_replace($pattern, $replacement, $phoneno);
//expected result: 123-456-7890
?>~pickle | Please use [ code=html ], [ code=php ], etc tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: