0

我遇到了 PHP 5.3 和 Joomla 的问题,并且错误显示如下 preg_replace() [function.preg-replace]: Unknown modifier 'w' in /var/www/

我的代码

$params  = $this->item->params;
$images = json_decode($this->item->images);
$urls = json_decode($this->item->urls);
$canEdit    = $this->item->params->get('access-edit');
$user       = JFactory::getUser();

$imagesJson = json_decode($this->item->images);
$images_stringPath = substr($imagesJson->image_fulltext, 0,strripos($imagesJson->image_fulltext, '/'));
$path = "/".$images_stringPath;



$tmp_filename=preg_replace($_SERVER["DOCUMENT_ROOT"].$path.'/','',$value);
4

1 回答 1

0

preg_replace()用于简单的字符串替换是矫枉过正的。改为使用str_replace()

无论如何,preg_replace()需要一个由您没有提供的“分隔符”包围的正则表达式模式。

详细来说,这是您的函数调用的外观:

$tmp = preg_replace('/var/www/.../', '', $value);
//                   ^   ^^
//                   |   ||
//                   |   |+--- "modifier"
//                   |   +---- terminating delimiter
//                   +-------- starting delimiter

起始分隔符将是正斜杠/。之后终止模式var。在终止分隔符之后,preg_replace()允许使用可选修饰符w都不是。

于 2013-05-05T07:08:10.647 回答