php - устаревшая функция ereg_replace() устарела в php
Я только что купил PHP-скрипт, который работал правильно, пока я не протестировал его на своем веб-сервере. Когда я запускаю скрипт, он выглядит великолепно, но когда я щелкаю по подкатегории моего веб-сайта, я выдаю мне эту ошибку: "Устаревшее: функция ereg_replace() устарела в /home/*/public_html/includes/functions.php в строке 61"
Мой сценарий выглядит так:
<?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);}?>
Извините, мой код также неправильно отформатирован. Когда я отправляю этот вопрос Stackru, я сталкиваюсь с большой проблемой. Любая помощь приветствуется. Ошибка происходит в строке 61. Я новичок в PHP. Я проверяю, есть ereg и preg Обе функции присутствуют. пожалуйста, помогите мне.. спасибо
1 ответ
ereg_replace
осуждается. использование preg_replace
как это:
$string = preg_replace('/ \+/', ' ', trim($string));
Это важно / \+/
шаблон. Space
а также plus(+)