2

我想在我的 regexp 中使用正则表达式str_replace,我想正确的解决方案是使用preg_replace,但我不知道如何使用它。无论如何,如果它匹配或者在and之间有任何空格,我想src=变成字符。通常只需打开 src= 它会是:asrc=src=

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

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

4

3 回答 3

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

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

于 2013-08-20T21:52:43.123 回答
0

preg_replace 就像 str_replace 一样工作:

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

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

于 2013-08-20T21:49:51.923 回答
0

使用preg_replace和以下模式:

src(?:\s+)?=

把它分开:

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

总而言之,它将是:

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

希望这可以帮助!

于 2013-08-20T21:56:23.747 回答