1

我有一个字符串:

[startstring]hello = guys[endstring] hello guys [startstring]jerk = you[endstring] man this is good!!!

我想删除 and 之间[startstring]的所有内容[endstring],所有匹配项,并从字符串中删除[startstring]and 。[endstring]所以结果会是:

hello guys  man this is good!!!

删除的内容将是:

[startstring]hello = guy[endstring]大家好[startstring]jerk = you[endstring]伙计,这很好!!!

明白了吗?

我想回显结果的东西,没有[startstring]and的[endstring]东西,如上所示。:)

希望我很清楚。:-)

我将如何在 PHP 中完成此任务?这会涉及某种形式RegEx吗?你能提供一个示例代码吗?

提前非常感谢!:-)

编辑:可以修改或使用此代码来完成任务吗?

preg_match_all('/\[startstring\](.*?)\[endstring\]/s', $input, $matches);
4

1 回答 1

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);

输出

你好,伙计们,这很好!!!

于 2013-01-14T03:08:10.237 回答