Php Preg替换特殊字符
您好,我想用php preg replace删除此字符:Php Preg替换特殊字符,php,regex,Php,Regex,您好,我想用php preg replace删除此字符:|。 我的代码不起作用 $rstr = '|||is'; $Grab->text = preg_replace($rstr,'',$Grab->text); echo $Grab->text; |在正则表达式中有特殊的含义,它用于交替(即a | b | c表示a、b或c),因此必须对其进行转义: $Grab->text = preg_replace("/\|\|\|is/",'',$Grab->text);
|
。
我的代码不起作用
$rstr = '|||is';
$Grab->text = preg_replace($rstr,'',$Grab->text);
echo $Grab->text;
|
在正则表达式中有特殊的含义,它用于交替(即a | b | c
表示a、b或c),因此必须对其进行转义:
$Grab->text = preg_replace("/\|\|\|is/",'',$Grab->text);
或者,如果您分配字符串
$rstr='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\代码>
在正则表达式中有特殊含义,它用于替换(即a | b | c
表示a、b或c),因此您必须对其进行转义:
$Grab->text = preg_replace("/\|\|\|is/",'',$Grab->text);
或者,如果您分配字符串$rstr='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
是一个正则表达式元字符,您还可以将其用作分隔符(这是两个问题)。
您应该转义|
符号,并使用另一个分隔符(您也不需要i
和s
标志):
您的正则表达式被解释为~~| is
,并显示以下错误消息:
Warning: preg_replace(): Unknown modifier '|' in /home/o3oYmU/prog.php on line 3
|
是一个regex元字符,您还可以将其用作分隔符(这是两个问题)。
您应该转义|
符号,并使用另一个分隔符(您也不需要i
和s
标志):
您的正则表达式被解释为~~| is
,并显示以下错误消息:
Warning: preg_replace(): Unknown modifier '|' in /home/o3oYmU/prog.php on line 3
如果确实需要使用正则表达式,则需要转义
字符,该字符作为:
这是假设您只想替换一个|
,而不是一行三个-在这种情况下,您将使用:
$Grab->text = preg_replace('#\|{3}#is', '', $Grab->text);
还请注意,我使用了#
作为--当分隔符不是正则表达式中的字符时,编写/读取正则表达式更容易:更少的转义操作
但是,正如@Pekka在对您的问题的评论中所指出的,为什么不直接使用
或者,如果您只希望在有三个|
时进行更换:
$Grab->text = str_replace('|||', '', $Grab->text);
毕竟,在这样一个简单的情况下,不需要正则表达式。如果真的需要使用正则表达式,则需要转义
字符,该字符作为:
这是假设您只想替换一个|
,而不是一行三个-在这种情况下,您将使用:
$Grab->text = preg_replace('#\|{3}#is', '', $Grab->text);
还请注意,我使用了#
作为--当分隔符不是正则表达式中的字符时,编写/读取正则表达式更容易:更少的转义操作
但是,正如@Pekka在对您的问题的评论中所指出的,为什么不直接使用
或者,如果您只希望在有三个|
时进行更换:
$Grab->text = str_replace('|||', '', $Grab->text);
毕竟,在这样一个简单的例子中,不需要正则表达式。为什么不使用str\u replace(“|“,”,$Grab->text)代码>?“不工作”如何?错误消息?什么都不做?我有很多要解析的$rstr
。我不str_替换(“|”、”、$Grab->text)代码>因为它对我的脚本不起作用。为什么不使用str_replace(“|“,”,$Grab->text)代码>?“不工作”如何?错误消息?什么都不做?我有很多要解析的$rstr
。我不str_替换(“|”、”、$Grab->text)代码>因为它对我的脚本不起作用。+1-我不确定OP试图做什么,但这节省了我大量的输入。我已经添加了一个关于如何解释| |
的解释。(哦,现在我得到了公认的答案。Phoi。)+1-我不确定OP想要做什么,但这节省了我大量的打字。我已经添加了一个关于如何解释| |
的解释。(哦,现在我得到了被接受的答案。Phoi。)@User-事实上,这远不是完美的:)
-如果适用,请尝试str\u replace
函数。@User-事实上,这远不是完美的:)
-如果适用,请尝试str\u replace
函数。