如何用模式替换字符串


How to replace in a string by pattern

我有一个这样的字符串:

01.jpg">01]02.jpg">02]03.jpg">03]04.jpg">04]05.jpg">05]06.jpg">06]07.jpg"+08]09.jpg">09]10.jpg">10]11.jpg">11]12.jpg">12]13.jpg">13]14.jpg">14]15.jpg">16]17.jpg"+17]18-19.jpg">18-19]20.jpg">20

因此,我只想拥有:

01.jpg#02.jpg#03.jpg#04.jpg。。。直到20.jpg

所以我需要用# 替换"> (.*)]

我怎样才能做到这一点?

您有一个几乎可以与preg_replace()一起使用的工作模式。试试这个:

$string = preg_replace('/"> 'd+']?/', '#', $string);
  • 'd+一次或多次为数字
  • ]需要使用'进行转义
  • ?使]可选

另一种模式是/"> [^']]+']?/