我刚买了一个正常工作的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两个函数都存在。请帮我.. 感谢
答案 0 :(得分:1)
ereg_replace
已弃用。像这样使用preg_replace
:
$string = preg_replace('/ \+/', ' ', trim($string));
这是重要的/ \+/
模式。 Space
和plus(+)