Remover caractere especial em PHP
-
Use a função
preg_replace()
para remover caracteres especiais no PHP -
Use a função
str_replace()
para remover caracteres especiais no PHP -
Use a função
trim()
para remover caracteres especiais no PHP -
Use as funções
htmlspecialchars()
estr_ireplace()
para remover caracteres especiais no PHP -
Use a função
substr()
para remover caracteres especiais no PHP -
Use a função
strtr()
para remover caracteres especiais no PHP
Na programação, às vezes, queremos remover alguns caracteres especiais da string. Este tutorial mostra como usaremos diferentes funções para remover o caractere especial de uma string.
Use a função preg_replace()
para remover caracteres especiais no PHP
Esta função preg_replace()
contém alguns parâmetros conforme apresentado a seguir.
$pattern
: Este parâmetro nos dá um padrão para pesquisar string ou array de strings.$replaceWith
: neste, fornecemos o caractere a partir do qual a string ou array$pattern
é substituída. Se o parâmetro$pattern
for um array e o parâmetro$replaceWith
for uma string, então o parâmetro todo$pattern
é substituído pela string$replaceWith
. Por outro lado, se ambos os parâmetros$pattern
e$replaceWith
são matrizes, ele faz o mesmo que na condição acima, mas substitui a string indexada específica de$pattern
por seu índice de contador de resposta de$replaceWith
.$string
: esta é a string desejável que você deseja filtrar com um caractere especial.
Veja o exemplo abaixo.
<?php
function RemoveSpecialChar($str)
{
$res = preg_replace('/[0-9\@\.\;\" "]+/', '', $str);
return $res;
}
$str = "My name is hello and email hello.world598@gmail.com;";
$str1 = RemoveSpecialChar($str);
echo "My UpdatedString: ", $str1;
?>
Resultado:
My UpdatedString: Mynameishelloandemailhelloworldgmailcom
Nesta função, você pode remover facilmente o caractere especial, mas antes de usar esta função, você precisa ter algum conhecimento de expressão regular.
Use a função str_replace()
para remover caracteres especiais no PHP
Esta também é uma função incorporada muito útil, que é usada para substituir o caractere especial da string. str_replace()
também ajuda a substituir aquele caractere pelo caractere removido.
Esta função contém alguns parâmetros, conforme apresentado a seguir.
$search_str
: Contém o valor que queremos pesquisar na string dada.$replace_str
: Ele armazena um valor que você deseja substituir, ou você também pode deixá-lo vazio se desejar apenas a remoção de um caractere especial.$main_str
: É a string que queremos atualizar.$count
: representa o número de caracteres que queremos substituir ou remover.
Veja o código de exemplo.
<?php
$mainstr = "This is a sim'ple text;";
echo "Text before remove: \n" . $mainstr, "\n";
$replacestr = remove_sp_chr($mainstr);
function remove_sp_chr($str)
{
$result = str_replace(array("#", "'", ";"), '', $str);
echo "\n\nText after remove: \n" . $result;
}
?>
Resultado:
Text before remove:
This is a sim'ple text;
Text after remove:
This is a simple text
Use a função trim()
para remover caracteres especiais no PHP
Esta função remove apenas o caractere do primeiro e do final da string. Ignora o personagem que está no meio da string. Se você deseja remover apenas o início e o fim do caractere, usamos esta função.
Esta função é fácil de usar e não requer muitos parâmetros. Exige apenas a string principal da qual você deseja remover o primeiro e o último caractere especial.
Aqui abaixo, vemos como funciona e qual é o seu resultado:
<?php
$mainstr = "@@PHP@Programming!!!.";
echo "Text before remove:\n" . $mainstr;
echo "\n\nText after remove: \n" . trim($mainstr, '@!.');
?>
Resultado:
Text before remove:
@@PHP@Programming!!!.
Text after remove:
PHP@Programming
Esta função também possui duas variantes.
ltrim()
rtrim()
a função ltrim()
Ele remove apenas os primeiros caracteres de sua string.
<?php
$str = "geeks";
$str = ltrim($str, 'g');
echo $str;
?>
Resultado:
eeks
a função rtrim()
É igual à função acima, mas pode remover os últimos caracteres da sua string.
<?php
$string = "DelftStack is a best platform.....";
echo "Output: " . rtrim($string, ".");
?>
Resultado:
Output: DelftStack is a best platform
Use as funções htmlspecialchars()
e str_ireplace()
para remover caracteres especiais no PHP
Os htmlspecialchars()
e str_ireplace()
são usados para remover o efeito de caracteres predefinidos dos dados. Ele converte todos os elementos predefinidos de Html em caracteres especiais, como converte <
em <,&
e, em seguida, será convertido em &
.
O str_ireplace()
é usado para a remoção de caracteres Html do texto. Ele funciona como str_replace()
, que é brevemente explicado acima, e pode realizar pesquisas que não diferenciam maiúsculas de minúsculas. Isso significa que quando descartamos o código do Html nesta função e após o processamento, ele pode remover todos os caracteres especiais do Html como <h2>
, <b>
e.t.c.
Vamos ver como isso funciona:
<?php
$mainstr = "<h2>Welcome to <b>PHPWorld</b></h2>";
echo "Text before remove: \n" . $mainstr;
echo "\n\nText after remove: \n" .
str_ireplace(array('<b>', '</b>', '<h2>', '</h2>'), '',
htmlspecialchars($mainstr));
?>
Resultado:
Text before remove:
<h2>Welcome to <b>PHPWorld</b></h2>
Text after remove:
Welcome to PHPWorld
Use a função substr()
para remover caracteres especiais no PHP
Como sabemos, a string é uma espécie de array. A função substr()
remove até o índice específico do caractere.
<?php
$str = "@@HelloWorld";
$str1 = substr($str, 1);
echo $str1 . "\n\n";
$str1 = substr($str, 2);
echo $str1;
?>
Resultado:
@HelloWorld
HelloWorld
Use a função strtr()
para remover caracteres especiais no PHP
Esta função é um recurso incrível do PHP. Ele traduz caracteres ou substitui substrings. Leva três parâmetros, o primeiro é a string na qual aplicamos esta função, depois que o segundo parâmetro é aquele caractere que queremos substituir dessa string e o último parâmetro é aquele caractere do qual queremos substituir o valor do segundo parâmetro. Agora vemos por meio da programação:
<?php
$str = "ei all, I said eello";
//$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo "Output: " . strtr($str, "e", "h");
?>
Resultado:
Output: hi all, I said hhllo
Este é o seu bom recurso, onde str_replace()
torna-se falha. Abaixo está seu exemplo:
<?php
$strTemplate = "My name is :name, not :name2.";
$strParams = [
':name' => 'Dave',
'Dave' => ':name2 or :password',
':name2' => 'Steve',
':pass' => '7hf2348', ];
echo "\n" . strtr($strTemplate, $strParams) . "\n";
echo "\n" . str_replace(array_keys($strParams), array_values($strParams), $strTemplate) . "\n";
?>
Resultado:
My name is Dave, not Steve.
My name is Steve or 7hf2348word, not Steve or 7hf2348word2.