Php preg_replace()[function.preg replace]:在/home中未知的修饰符“/”/
在我的网站中,我想用其他类似的链接替换链接 www.abc.com或http://abc.com 将被替换为 http://www.XXXXXX.com/sonal?www.abc.com 或 http://www.XXXXXX.com/sonal?http://abc.com 所以我使用这个代码,但是这个代码给出了一些错误 警告:preg_replace[函数.preg replace]:未知修饰符“/” 在第495行的/home/XXXXX/public_html/YYYYYYYYY/KKKKKK.php中 您要么需要从中间/ \//或更好地避免两个/ /或更好地使用正则表达式的不同分隔符:Php preg_replace()[function.preg replace]:在/home中未知的修饰符“/”/,php,regex,bbcode,Php,Regex,Bbcode,在我的网站中,我想用其他类似的链接替换链接 www.abc.com或http://abc.com 将被替换为 http://www.XXXXXX.com/sonal?www.abc.com 或 http://www.XXXXXX.com/sonal?http://abc.com 所以我使用这个代码,但是这个代码给出了一些错误 警告:preg_replace[函数.preg replace]:未知修饰符“/” 在第495行的/home/XXXXX/public_html/YYYYYYYYY/KKK
"~\[url]www|http://.([^'\"]*)\[/url]~iU",
几乎没有办法解决这个问题 逃逸/
$search_array = array(
"/\[url]www|http:\/\/.([^'\"]*)\[\/url]/iU",
"/\[url]([^'\"]*)\[\/url]/iU",
"/\[url=www|http:\/\/.([^'\"\s]*)](.*)\[\/url]/iU",
"/\[url=([^'\"\s]*)](.*)\[\/url]/iU"
);
或者使用不同的regexp分隔符,如
$search_array = array(
"#\[url]www|http://.([^'\"]*)\[\/url]#iU",
"#\[url]([^'\"]*)\[\/url]#iU",
"#\[url=www|http://.([^'\"\s]*)](.*)\[\/url]#iU",
"#\[url=([^'\"\s]*)](.*)\[\/url]#iU"
);
在搜索数组中的http:replace http:\/\/之后看起来像是unscaped/字符。现在它工作了错误已经消失,但是当我使用$msg=preg\u replace$search\u array,$replace\u array,$msg;返回$msg;现在它的工作错误已经消失,但我的左侧菜单消失时,我使用$msg=preg_replace$search_array,$replace_array,$msg;返回$msg;
$search_array = array(
"/\[url]www|http:\/\/.([^'\"]*)\[\/url]/iU",
"/\[url]([^'\"]*)\[\/url]/iU",
"/\[url=www|http:\/\/.([^'\"\s]*)](.*)\[\/url]/iU",
"/\[url=([^'\"\s]*)](.*)\[\/url]/iU"
);
$search_array = array(
"#\[url]www|http://.([^'\"]*)\[\/url]#iU",
"#\[url]([^'\"]*)\[\/url]#iU",
"#\[url=www|http://.([^'\"\s]*)](.*)\[\/url]#iU",
"#\[url=([^'\"\s]*)](.*)\[\/url]#iU"
);