如何在PHP中为特殊字符添加斜杠


How to add slash to a special character in PHP?

我正在尝试为具有特殊字符的字符串添加反斜杠。

我的输入是:

db:xz~sf!fkd@djf#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:xz~sf!fkd@djf#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);

有人能帮我吗?

您可以使用:

$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';
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