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(+)

Другие вопросы по тегам