<?php
function pregForPreg($value)
{
$value = preg_replace(array('#\(#', '#\)#', '#\+#', '#\?#', '#\*#', '#\##', '#\[#', '#\]#', '#\&#', '#\/#', '#\$#', '#\\\\#'), array('\(', '\)', '\+', '\?', '\*', '\#', '\[', '\]', '\&', '\/', '\\\$', '\\\\'), $value);
return $value;
}
$var = "TI - Yeah U Know [OFFCIAL VIDEO] [TAKERS] [w\LYRICS]";
$var = pregForPreg($var);
//$var is now:
// TI - Yeah U Know \[OFFCIAL VIDEO\] \[TAKERS\] \[w\LYRICS\]
$var = preg_replace("#" . $var . "#isU", 'test', $var);
echo $var;
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:*警告:preg_replace():编译失败:PCRE不支持第13行test.php中偏移50处的\ L,\ l,\ N,\ U或\ u …