我刚刚在客户的网站上遇到了一个错误,说ereg
已被弃用,我已经做了一点谷歌搜索,发现你应该使用preg_match
作为它的替代品。
唯一的问题是,我不太了解preg_match
函数,我也试图理解这个ereg
函数作为一个以前的雇主,谁不再在这里编写这个网站。
无论如何,这是函数,我需要知道我应该如何替换它:
if ( ! ereg( '/$', $sCurrentFolder ) ) $sCurrentFolder .= '/' ;
它的意思是"如果最后一个字符是斜杠"所以你可以使用preg_match("(/$)",$sCurrentFolder)
或应用更多的聪明:
if( substr($sCurrentFolder,-1) == "/") $sCurrentFolder .= "/";
甚至:
$sCurrentFolder = rtrim($sCurrentFolder,"/")."/";
// This one will remove multiple slashes from the end of $sCurrentFolder
// useful in case of possibly malformed input
您原来的ereg
似乎只检查字符串$sCurrentFolder
末尾的正斜杠:
if ( ! ereg( '/$', $sCurrentFolder ) ) $sCurrentFolder .= '/' ;
我相信这个正则表达式使用preg_match
应该工作:
if ( ! preg_match( '//$/', $sCurrentFolder ) ) $sCurrentFolder .= '/' ;
EDIT:原始海报表明这与旧版本的FCKEditor
&我找到了这个相当详细的答案,精确地指出了所有ereg
和eregi
问题。建议更换。一定要从头到尾看一遍。如果您正在调试旧的FCKEditor
安装,这是一个非常好的解决方案列表和讨论。尽管我将诚实地说,我对所提出的一些建议并不是百分之百肯定。