我有一个字符串,它的模式与下面的 $string 类似(从论坛帖子中提取)。
$string = "[quote=\"abc123\":27zslwh3]I don't agree with most of the statements made here.[/quote:27zslwh3] I don't think that is very nice of you.";
$pattern = "/\[quote\=.\*\[\/quote.*\]/";
$replace = "";
$updated_text = preg_replace($pattern,$replace,$string);
echo $updated_text;
我正在尝试使用 preg_replace 删除开始和结束 [quote] 标记之间的所有文本并回显剩余的字符串:“我不认为你很好。” 仅(来自上面的 $string)。
我用于正则表达式的模式应该寻找开始 [quote] 标记的开头,然后搜索直到找到结束 [quote] 标记和标记的最后 ]。
上面的内容似乎无法正常工作,而且我对 reg 表达式不太精通,所以被困在这里。任何帮助,将不胜感激。
.
注意:我尝试了draw010和bsdnoobz提供的两个代码(感谢代码和解释),但它仍然不起作用。问题是我没有正确捕获 $string 文本。它应该读作:
$string = '[quote="abc123":27zslwh3]I dont agree with most of the statements made here.
abc123[/quote:27zslwh3]
I dont think that is very nice of you.';
双引号有 html 字符,并且似乎是换行符或回车符,这可能是阻止下面提交的正则表达式对我不起作用的原因。