我有一个字符串:
[startstring]hello = guys[endstring] hello guys [startstring]jerk = you[endstring] man this is good!!!
我想删除[startstring]
和[endstring]
之间的所有匹配项,并删除字符串中的[startstring]
和[endstring]
。所以结果就是:
hello guys man this is good!!!
,删除的内容将是:
[startstring] hello = guys [endstring] 你好伙计 [startstring] jerk =你[endtring] 男人这很好!!!
明白我的意思?
如上所示,我想在没有[startstring]
和[endstring]
内容的情况下回应结果。 :)
希望我大部分都清楚。 : - )
我将如何在PHP中完成此操作?这会包含某种RegEx
吗?你能提供一个示例代码吗?
非常感谢! : - )
编辑:可以修改此代码或在某种程度上使用它来完成任务吗?
preg_match_all('/\[startstring\](.*?)\[endstring\]/s', $input, $matches);
答案 0 :(得分:3)
要实现这一点,您只需更改方法名称,就应该使用preg_replace代替preg_match_all
:
preg_replace ($pattern, $replacement, $subject)
搜索主题匹配模式并用替换替换它们。
$input = "[startstring]hello = guys[endstring] hello guys [startstring]jerk = you[endstring] man this is good!!!";
$output = preg_replace('/\[startstring\](.*?)\[endstring\]/s', '', $input);
你好男人这很好!!!