我不想知道每次需要正则表达式时我需要什么正则表达式,我喜欢学习如何使用正则表达式进行基本的字符串替换。
如何使用一个字符串并用另一个字符串替换为PHP中的正则表达式?
例如,你如何取所有'/'并用'%'替换它们?
答案 0 :(得分:2)
如果您只想进行基本的字符串替换(即将所有'abc'替换为'123'),则可以使用 str_replace
,这不需要使用正则表达式。对于基本替换,这将更容易设置,应该运行得更快。
如果您想将此作为学习正则表达式的工具(或需要更复杂的替换),那么 preg_replace
就是您需要的功能。
答案 1 :(得分:1)
你应该研究preg_replace。对于你的问题
$string = "some/with/lots/of/slashes";
$new_string = preg_replace("/\//","%",$string);
echo $new_string;
答案 2 :(得分:0)
我想学习如何使用正则表达式替换基本字符串。
这个论坛有点宽泛。但是,要回答一个更具体的问题,如:
例如,你如何采取所有' /'并用'%'替换它们?
你可以这样做:
$result = preg_replace('#\/#', '%', 'Here/is/a/test/string.');
答案 3 :(得分:0)
注意,您不限于使用公共/
分隔符,这意味着在使用正斜杠时,通常更容易更改为不同的分隔符EG。
$mystring = 'this/is/random';
$result = preg_replace('#/#', '%', $mystring);
这会使'#'成为分隔符,而不是标准'/',这意味着你不需要转义斜杠。
答案 4 :(得分:0)
我会使用strtr
来完成这项工作,这非常适合字符映射,例如
strtr('My string has / slashes /', '/', '%');
如果您还想用短划线替换字母a
:
strtr('My string has / slashes /', '/a', '%-');
如您所见,第二个和第三个参数定义了转换图。