2016-01-09 105 views
0

我想向具有特殊字符的字符串添加反斜杠。如何将斜线添加到PHP中的特殊字符?

我输入的是:

db:[email protected]#dfs$dlf%dks^kd&fkf*kdf(dls)kls-fls+fsd=slf_fls[fdf]fdf{ffl}sl|dkf\fsl'skfj 

而且我的输出应该是:

db\:xz\~sf\!fkd\@djf\#dfs\$dlf\%dks\^kd\&fkf\*kdf\(dls\)kls\-fls\+fsd\=slf\_fls\[fdf\]fdf\{ffl\}sl\|dkf\\fsl\'skfj 

和我有下面这段代码只用反斜杠字符替换特殊字符:

<?php 
echo $string = "db:[email protected]#dfs$dlf%dks^kd&fkf*kdf(dls)kls-fls+fsd=slf_fls[fdf]fdf{ffl}sl|dkf\fsl'skfj"; 
echo preg_replace('/[^A-Za-z0-9\-]/', '\\', $string); 

那么有人可以帮我解决这个问题吗?

回答

1

您可以使用:

$s = 'db:[email protected]#dfs$dlf%dks^kd&fkf*kdf(dls)kls-fls+fsd=slf_fls[fdf]fdf{ffl}sl|dkf\fsl\'skfj'; 

echo preg_replace('/\W/', '\\\\$0', $s) 
//=> db\:xz\~sf\!fkd\@djf\#dfs\$dlf\%dks\^kd\&fkf\*kdf\(dls\)kls\-fls\+fsd\=slf_fls\[fdf\]fdf\{ffl\}sl\|dkf\\fsl\'skfj 
+1

感谢anubhava。 –

相关问题