regexp in php str_replace


regexp in php str_replace

我想在str_replace中使用regexp,我想正确的解决方案是使用preg_replace,但我不知道如何使用它。不管怎样,我想把src=变成字符a,如果它与src=匹配,或者如果它在src=之间有任何空格。通常情况下,只要打开src=就会是:

$string = str_replace('src=', 'a', $string);

但问题是,当src和=之间有空格时,这是不起作用的。这就是为什么我需要使用regexp。谢谢你的帮助。

$string = preg_replace('/src's*=/i', 'a', $string);

RegEx的意思是"匹配src,后跟0个或多个空格,后跟="。

preg_replace的工作原理与str_replace:相同

$new_string = preg_replace($pattern, $replacement, $old_string);

在您的情况下,模式将是"@src's*=@i"'s*覆盖零到无限的空白,@只是模式所需的不同可能delimitter中的一个,i(在最后一个分隔符之后)使模式不区分大小写。)

使用preg_replace和以下模式:

src(?:'s+)?=

拆分:

  • src显然找到了"src"部分
  • (?:'s+)?找到0个或更多空间
  • =完成,找到"="

因此,总的来说,它将是:

$new_string = preg_replace("/src(?:'s+)?=/i", 'a', $string);

希望这能有所帮助!