PHP - 不推荐使用的函数ereg_replace()在PHP中不推荐使用 [英] php - deprecated function ereg_replace() is deprecated in php

查看:151
本文介绍了PHP - 不推荐使用的函数ereg_replace()在PHP中不推荐使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

My Script is Look Like this:

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

if(USE_SEO_URLS == true){

switch($ pagename){

case'category.php':
$ result ='c' 。 $ c。 的.html;
休息;
case'questions.php':
$ result ='q-c'。 $ c。 '-k'。 $ k。 '-p'。 $ p。 ' - '。 str_replace(, - ,$ ktext)。 的.html;
休息;
case'answer.php':
$ result ='a'。 $ q。 '-C' 。 $ c。 '-k'。 $ k。 的.html;
休息;
}

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

返回$ result; }函数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;
}}函数sanitize_string($ string){
$ string = ereg_replace('+','',trim($ string));

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

对不起,我的代码格式不正确。我面临很大的问题,当我发布这个问题Stackoverflow。任何帮助表示赞赏。错误发生在第61行。我是PHP新手。我检查,有ereg和preg两种功能都存在。请帮助我..
谢谢

解决方案

ereg_replace 弃用。使用 preg_replace 就像这样:

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

这很重要 / \ + / 模式。 空格加号(+)


I Just Bought a PHP Script That Was Working Properly Till I Test It ON my Web Server. When I ran THe Script It looks Great But When I click the Sub-Category of my Website I gives me This Error "Deprecated: Function ereg_replace() is deprecated in /home/*/public_html/includes/functions.php on line 61"

My Script is Look LIke This:

<?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);}?>

Sorry , My Code Is also Not Proper Formatted. I face Great Problem When I post this Question Stackoverflow. Any Help Is appreciated. The Error Is Occur in Line 61. I am New in PHP. I check, There is ereg and preg Both Functions are present. please help me.. Thanks

解决方案

ereg_replace deprecated. Use preg_replace like this:

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

That is important / \+/ pattern. Space and plus(+)

这篇关于PHP - 不推荐使用的函数ereg_replace()在PHP中不推荐使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆