$output = preg_replace("|(/D)(/s+)(/d+)(;)|", "//1,//3;", $output);
I'm trying to replace all alphabetical character followed by one or more whitespace characters (tabs and/or spaces) followed by one or more numerical characters followed by a semicolon with the alphabetical character followed by a comma followed by the numerical digits and then the semicolon.
I'll provide an example:
Start:
hello world 1007;
End:
hello world,1007;
The two |
at the start and end probably are incorrect - and should both be forward-slashes.
All other forward slashes should be backward slashes (and need escaping).
And since PHP 4.04 $n
is the preferred way of referring to a capture group.
$output = preg_replace("/(\\D)\\s+(\\d+;)/", "$1,$2", $output);
If you use single quotes you don't need to escape your backslashes:
$output = preg_replace('/(\D)\s+(\d+;)/', '$1,$2', $output);