php - 不推荐使用的函数ereg_replace()在php中已弃用

时间:2013-08-20 07:10:51

标签: php function deprecated ereg-replace

我刚买了一个正常工作的PHP脚本,直到我在我的Web服务器上测试它。 当我运行脚本它看起来很棒但是当我点击我的网站的子类别时,我给了我这个错误 “不推荐使用:函数ereg_replace()在第61行的/home/*/public_html/includes/functions.php中已弃用”

我的剧本看起来像这样:

<?php function generate_link($pagename,$c='',$k='',$q='',$p='',$ktext=''){

if (USE_SEO_URLS==true){

    switch ($pagename){

        case 'category.php':
            $result ='c' . $c . '.html';
            break;
        case 'questions.php':
            $result ='q-c' . $c . '-k' . $k . '-p' . $p . '-' . str_replace(" ","-",$ktext) . '.html';
            break;
        case 'answer.php':
            $result ='a' . $q . '-c' . $c . '-k' . $k . '.html';
            break;
    }

}
else {
    switch ($pagename){
        case 'category.php':
            $result ='category.php?c=' . $c;
            break;
        case 'questions.php':
            $result ='questions.php?c=' . $c . '&k=' . $k . '&p=' . $p . '&ktext=' . str_replace(" ","-",$ktext) ;
            break;
        case 'answer.php':
            $result ='answer.php?k=' . $k . '&c=' . $c . '&id=' . $q ;
            break;
    }
}

return $result;  } function db_prepare_input($string) {
if (is_string($string)) {
  return trim(sanitize_string(stripslashes($string)));
} elseif (is_array($string)) {
  reset($string);
  while (list($key, $value) = each($string)) {
    $string[$key] = db_prepare_input($value);
  }
  return $string;
} else {
  return $string;
} } function sanitize_string($string) {
$string = ereg_replace(' +', ' ', trim($string));

return preg_replace("/[<>]/", '_', $string);}?>

抱歉,我的代码也没有正确格式化。当我发布此问题Stackoverflow时,我遇到了很大的问题。任何帮助表示赞赏。第61行出现错误。我是PHP的新手。我检查,有ereg和preg两个函数都存在。请帮我.. 感谢

1 个答案:

答案 0 :(得分:1)

ereg_replace已弃用。像这样使用preg_replace

$string = preg_replace('/ \+/', ' ', trim($string));

这是重要的/ \+/模式。 Spaceplus(+)