我想在我的 regexp 中使用正则表达式str_replace,我想正确的解决方案是使用preg_replace,但我不知道如何使用它。无论如何,如果它匹配或者在and之间有任何空格,我想src=变成字符。通常只需打开 src= 它会是:asrc=src=
$string = str_replace('src=', 'a', $string);
但问题是当 src 和 = 之间有空格时,这将不起作用。这就是为什么我需要使用正则表达式。谢谢你的帮助。
$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*涵盖零到无限的空格,@只是模式所需的不同可能分隔符中的一个,i(在最后一个分隔符之后)使模式不区分大小写。)
使用preg_replace和以下模式:
src(?:\s+)?=
把它分开:
src显然找到了“src”部分(?:\s+)?找到 0 个或更多空间=完成它,找到“=”总而言之,它将是:
$new_string = preg_replace("/src(?:\s+)?=/i", 'a', $string);
希望这可以帮助!