如何用PHP中的模式替换所有出现的字符串开头和结尾

时间:2018-09-19 10:16:13

标签: php regex preg-replace preg-match-all

我有这个字符串:

[image: alfa-romeo-giulia-quadrifoglio-2017-01.jpg]\r\n[image: downloadwww.jpg]\r\n\r\n\r\nEmail content With 2 Inline Attachments and 2 another attachments.\r\nTo : me \r\nBcc and Cc : me\r\n

我想在字符串的任何地方替换此模式:

[image: .....]

我正在使用

preg_match_all('/\[image:\](.*?)\=(.*?)\]\]/s', $input, $matches);

此代码返回一个空数组。请帮助我替换所有出现的情况。

1 个答案:

答案 0 :(得分:1)

preg_match_all从较大的字符串中提取字符串,要进行替换,您需要使用preg_replace

您的字符串不包含]],也不包含=字符。

您可以使用

preg_replace('/\[image:[^]]*]/', '', $input)

请参见PHP demo

\[image:[^]]*]模式匹配

  • \[image:-一个[image:子字符串
  • [^]]*-除]之外的零个或多个字符
  • ]-一个]字符。