我很不擅长正则表达式!你们能告诉我在这段代码中结束分隔符应该放在哪里吗?
$data = preg_replace("/ href='"'/i", " href='"{$domain}/", $data);
$data = preg_replace("/ src='"'/i", " href='"{$domain}/", $data);
语法如下:
preg_replace("/PATTERN/FLAGS", "Replace String", $subject);
如您所见,分隔符在模式周围,因此在您的示例中,分隔符已就位。但是,您还在replace string参数中放置了分隔符,这是不应该的。您还需要转义字符,如反斜杠'
。所以正确的格式是:
$data = preg_replace("/ href='"''/i", " href='"{$domain}''", $data);
$data = preg_replace("/ src='"''/i", " href='"{$domain}''", $data);
该代码将用href="DOMAIN'
替换href="'
的任何实例。
str_replace()
:
$data = str_replace('href="''', "href='"{$domain}''", $data);
$data = str_replace('src="''', "src='"{$domain}''", $data);