preg_replace 保留:\
preg_replace keep : \
我正在尝试使用正则表达式处理某些字符串。
目前我正在使用这个表达式$var1=trim(preg_replace('/[^A-Za-z0-9\-\']/', ' ', $myString));
但是有了这个,我失去了一些我想保留的角色。
这些字符是“.” '\' 和 ':'。有人可以给我一些提示来保持这些角色吗?感谢您的宝贵时间
更新
使用 Adlan 字符串我得到了正确的结果。现在我有另一个问题,但与该主题无关。无论如何我在 preg_repleace Found some changes in D:\EER Data\project\myfile.csv
之后得到这个字符串
在这个字符串中有正确的反斜杠但是当我调用 json_encode($myString) 反斜杠消失了..
更新2
好的,我找到了问题并且我知道如何解决它。
我必须把双 \ 放在只有一个的地方。
所以这个字符串 D:\EER Data\project\myfile.csv
应该变成 D:\EER Data\project\myfile.csv
我如何使用 preg_replace 实现此目的?感谢帮助
尝试使用:
/[^A-Za-z0-9\-\'\\.\:]/
代码:(Demo)
$myString=<<<TEXT
Found some changes in D:\EER Data\project\myfile.csv
TEXT;
$var1=trim(preg_replace("~[^a-z\d.:'\\-]~i", ' ', $myString)); // keep letters, numbers dot, colon, single-quote, backslash, and hyphen
echo "$var1\n";
echo json_encode($var1); // it's a good idea to keep the escaping \ while in json.
输出:
Found some changes in D:\EER Data\project\myfile.csv
"Found some changes in D:\EER Data\project\myfile.csv"
我正在尝试使用正则表达式处理某些字符串。
目前我正在使用这个表达式$var1=trim(preg_replace('/[^A-Za-z0-9\-\']/', ' ', $myString));
但是有了这个,我失去了一些我想保留的角色。
这些字符是“.” '\' 和 ':'。有人可以给我一些提示来保持这些角色吗?感谢您的宝贵时间
更新
使用 Adlan 字符串我得到了正确的结果。现在我有另一个问题,但与该主题无关。无论如何我在 preg_repleace Found some changes in D:\EER Data\project\myfile.csv
之后得到这个字符串
在这个字符串中有正确的反斜杠但是当我调用 json_encode($myString) 反斜杠消失了..
更新2
好的,我找到了问题并且我知道如何解决它。
我必须把双 \ 放在只有一个的地方。
所以这个字符串 D:\EER Data\project\myfile.csv
应该变成 D:\EER Data\project\myfile.csv
我如何使用 preg_replace 实现此目的?感谢帮助
尝试使用:
/[^A-Za-z0-9\-\'\\.\:]/
代码:(Demo)
$myString=<<<TEXT
Found some changes in D:\EER Data\project\myfile.csv
TEXT;
$var1=trim(preg_replace("~[^a-z\d.:'\\-]~i", ' ', $myString)); // keep letters, numbers dot, colon, single-quote, backslash, and hyphen
echo "$var1\n";
echo json_encode($var1); // it's a good idea to keep the escaping \ while in json.
输出:
Found some changes in D:\EER Data\project\myfile.csv
"Found some changes in D:\EER Data\project\myfile.csv"