如何在 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/', '\\[=10=]', $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