【发布时间】:2010-11-25 23:58:29
【问题描述】:
<?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;
我收到一个错误:*警告:preg_replace():编译失败:PCRE 不支持 test.php 中偏移 50 处的 \L、\l、\N、\U 或 \u strong> 在第 13 行。*
如何制作正确的函数pregForPreg?
【问题讨论】:
标签: php preg-match pcre