Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Glaera, seguinte...
Atualizei o meu XAMPP para versão v3.1.0.3.1.0 e logo a versão do PHP para 5.4.7.
Até aí tudo bem, porém notei que esta versão do PHP, exige uns códigos mais corretos, por assim dizer..
Então eu tenho uma classe, que trata uma string ára retirar algus tipos de caracters etc.
E ao rodar ela nesta versão do PHP, ocorreu a seguinte mensagem:
Deprecated: Function eregi_replace() is deprecated in C:\xampp\htdocs\estudando_php\Manipulando-htaccess\UrlManage.class.php on line 24
E esta mesma mensagem para todas as linhas que estou utilizando a eregi_replace..
Linha 24:
$String = eregi_replace("[[:space:]]", $Separador, $String);
Linha 24:
$String = eregi_replace("[çÇ]", "c", $String);
E assim por diante.. Em todas as linhas que é utlizado a eregi_replace. Vou colar todo o código da classe ok...:
<?php
class UrlManage{
/*
* Funcção que retorna dados do menu
*/
public static function getUrlMenu($nome_menu, $categoria, $sub_categoria, $nome_pagina) {
if (UrlManage::HabilitadoModRewrite()) {
return "" . UrlManage::convertStringByUrlString($nome_menu) . "/" . UrlManage::convertStringByUrlString($categoria) . "/$sub_categoria/" . UrlManage::convertStringByUrlString($nome_pagina) . ".html";
} else {
return "reload.php?load=$nome_menu";
}
}
/*
* Funcção que trata os caracters da descrição do URL
*/
private static function convertStringByUrlString($String) {
$Separador = "-";
$String = trim($String); /* Removendo espaços do inicio e do fim da string */
$String = strtolower($String); /* Convertendo a string para minúsculas */
$String = strip_tags($String); /* Retirando as tags HTML e PHP da string */
$String = eregi_replace("[[:space:]]", $Separador, $String); /* Substituindo todos os espaços por $Separador */
$String = eregi_replace("[çÇ]", "c", $String); /* Substituindo caracteres especiais pela letra respectiva */
$String = eregi_replace("[áÁäÄàÀãÃâÂ]", "a", $String);
$String = eregi_replace("[éÉëËèÈêÊ]", "e", $String);
$String = eregi_replace("[íÍïÏìÌîÎ]", "i", $String);
$String = eregi_replace("[óÓöÖòÒõÕôÔ]", "o", $String);
$String = eregi_replace("[úÚüÜùÙûÛ]", "u", $String);
$String = eregi_replace("(\()|(\))", $Separador, $String); /* Substituindo outros caracteres por "$Separador" */
$String = eregi_replace("(\/)|(\\\)", $Separador, $String);
$String = eregi_replace("(\[)|(\])", $Separador, $String);
$String = eregi_replace("[@#\$%&\*\+=\|º]", $Separador, $String);
$String = eregi_replace("[;:'\"<>,\.?!_-]", $Separador, $String);
$String = eregi_replace("[“”]", $Separador, $String);
$String = eregi_replace("(ª)+", $Separador, $String);
$String = eregi_replace("[`´~^°]", $Separador, $String);
$String = eregi_replace("($Separador)+", $Separador, $String); /* Removendo o excesso de "$Separador" por apenas um */
$String = substr($String, 0, 100); /* Quebrando a string para um tamanho pré-definido */
$String = eregi_replace("(^($Separador)+)|(($Separador)+$)", "", $String); /* Removendo o "$Separador" do inicio e fim da string */
return $String;
}
private static function HabilitadoModRewrite() {
return true;
}
}
?>
Só que depois dos erros, ele printa o menu corretamente.. Doidera né? Alguma sugestão para corrigir isto?
Carregando comentários...