日期:2014-05-17  浏览次数:20506 次

部署cacti,php5.3.6报错问题。
我知道是由于php版本过高造成的,但是又不想降版本,但php是在不怎么会,请大家帮下忙,看怎么改代码。
在改之前报这个错误。
PHP Deprecated: Function ereg_replace() is deprecated in /usr/local/apache2/htdocs/lib/snmp.php on line 341
PHP Deprecated: Function ereg_replace() is deprecated in /usr/local/apache2/htdocs/lib/snmp.php on line 426

代码:
  $string = trim(ereg_replace("{.*= ?}", "", $string));
  $string = ereg_replace(REGEXP_SNMP_TRIM, "", $string);

简单将ereg_replace改为 preg_replace后两段代码分别报如下错误
  PHP Warning: preg_replace(): No ending delimiter '.'
  PHP Warning: preg_replace(): Unknown modifier

请问是怎么回事,要怎样才能解决?



------解决方案--------------------
PHP Deprecated: 这是 php5.3 特有的警告,是说那个函数已处在淘汰计划中,建议你不要使用
最简单的解决办法就是屏蔽掉这个错误类别

换用其他函数,就得符合人家的约定,你自己写错了能怪谁呢
------解决方案--------------------
不是替换为preg_replace()就可以的。这个函数第一个参数为正则。你那格式不对。正则应以//或##为分解符。
------解决方案--------------------
你要先说清楚你的需求啊。要替换什么 还有{.*= ?}和REGEXP_SNMP_TRIM是什么?