PHP - Alternativa a função "sql_regcase" que foi removida a partir do PHP 7

Fernando Valler 30/04/2020 PHP


A função sql_regcase foi removida a partir da versão 7 do PHP, se você precisar da funcionalidade que ela gerava use a função abaixo como uma alternativa.

function php7_regcase($str) {

	if (empty($str))
		return '';

	$chars = str_split($str);

	foreach ($chars as $char) {
		if (preg_match("/[A-Za-z]/", $char)) {
			$str_upper = mb_strtoupper($char, 'UTF-8');
			$str_lower = mb_strtolower($char, 'UTF-8');
			$resp[] = "[{$str_upper}{$str_lower}]";
		} else {
			$resp[] = $char;
		}
	}

	return implode('', $resp);
}

Veja um exempo:

$dados = "/(www|http|select|from|insert)/";

// Função nativa
echo sql_regcase($dados);
// saída: /([Ww][Ww][Ww]|[Hh][Tt][Tt][Pp]|[Ss][Ee][Ll][Ee][Cc][Tt]|[Ff][Rr][Oo][Mm]|[Ii][Nn][Ss][Ee][Rr][Tt])/

// Função para php7
echo php7_regcase($dados);
// saída: /([Ww][Ww][Ww]|[Hh][Tt][Tt][Pp]|[Ss][Ee][Ll][Ee][Cc][Tt]|[Ff][Rr][Oo][Mm]|[Ii][Nn][Ss][Ee][Rr][Tt])/

 


Fernando Valler - Programador Web
Fernando Valler

Sou programador web, motivado por desafios e sempre buscando aprender algo novo. Aqui você pode encontrar alguns projetos.