在Windows上使用PHP 5.3.1.
我只是想在数字和字母之间添加空格,但PHP正在破坏我的数据!
$text = "TUES:8:30AM-5:00PMTHURS:8:30AM-5:00PMSAT:8:00AM-1:00PM";
echo preg_replace("/([0-9]+)([A-Z]+)/","\1 \2",$text);
> TUES:8:? ?AM-5:? ?PMTHURS:8:? ?AM-5:? ?PMSAT:8:? ?AM-1:? ?PM
Run Code Online (Sandbox Code Playgroud)
我的文件类型是ANSI,源中没有unicode.
这有什么好玩的?
尝试使用$你的反向指示,而不是'\':
echo preg_replace("/(\d)(\w)/","$1 $2",$text);
Run Code Online (Sandbox Code Playgroud)
我打赌\1正在被翻译成一些时髦的东西......注意奇怪的角色在分钟输入为'30'和'00'之间不会改变
在PHP手册说,你应该双逃不出你的反向引用,或使用$(如果您使用的是4.04版或更新版本)