2017-10-19 347 views
0

我有以下代码添加域名如果不存在将所有相对路径更改为绝对路径的字符串。preg_replace链接相对路径为绝对路径

preg_replace("/(href|src)\=\"([^(http|https|#|ftp)])(\/)?/", "$1=\"$domain$2", $st); 

字符串的值

<link rel="stylesheet" href="/asset/css/test.css"><link rel="stylesheet" href="/asset/css/two.css"><link rel="stylesheet" href="//upload.com/css/test3.css"> 

我需要忽略链接以 “//” 声明,因为它是。如何在preg_replace() 中添加此项,例如,如果链接是// somelink/somedir,则不应该修改它。 请帮助我。

回答

0

变着花样这应该做的伎俩

preg_replace("/(href|src)\=\"([^(http|https|#|ftp|\/\/)])(\/)?/", "$1=\"$domain$2", $st);

+0

ID给出错误的先生警告:的preg_replace():未知的修饰词“\” –

+0

对此深感抱歉,我错过了一些斜线。刚刚更新了我的答案,现在它应该工作! – Tudor

+0

它不改变单/。 –