Supprimer le caractère spécial en PHP

Muhammad Abubakar 30 janvier 2023
  1. Utilisez la fonction preg_replace() pour supprimer un caractère spécial en PHP
  2. Utilisez la fonction str_replace() pour supprimer un caractère spécial en PHP
  3. Utilisez la fonction trim() pour supprimer les caractères spéciaux en PHP
  4. Utilisez les fonctions htmlspecialchars() et str_ireplace() pour supprimer un caractère spécial en PHP
  5. Utilisez la fonction substr() pour supprimer un caractère spécial en PHP
  6. Utilisez la fonction strtr() pour supprimer un caractère spécial en PHP
Supprimer le caractère spécial en PHP

En programmation, parfois, nous voulons supprimer certains caractères spéciaux de la chaîne. Ce tutoriel montre comment nous allons utiliser différentes fonctions pour supprimer le caractère spécial d’une chaîne.

Utilisez la fonction preg_replace() pour supprimer un caractère spécial en PHP

Cette fonction preg_replace() contient quelques paramètres comme présenté ci-dessous.

  • $pattern: Ce paramètre nous donne un modèle pour rechercher une chaîne ou un tableau de chaînes.
  • $replaceWith: En cela, nous donnons le caractère à partir duquel la chaîne ou le tableau $pattern est remplacé. Si le paramètre $pattern est un tableau et le paramètre $replaceWith est une chaîne, alors le paramètre tout $pattern est remplacé par la chaîne $replaceWith. D’un autre côté, si les deux paramètres $pattern et $replaceWith sont des tableaux, alors il fait la même chose que dans la condition ci-dessus mais remplace la chaîne indexée spécifique de $pattern par son index de compteur répondant de $replaceWith.
  • $string: C’est la chaîne souhaitable que vous voulez filtrer avec un caractère spécial.

Voir l’exemple ci-dessous.

<?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;
?>

Production:

My UpdatedString: Mynameishelloandemailhelloworldgmailcom

Dans cette fonction, vous pouvez facilement supprimer le caractère spécial, mais avant d’utiliser cette fonction, vous devez avoir une certaine connaissance des expressions régulières.

Utilisez la fonction str_replace() pour supprimer un caractère spécial en PHP

C’est également une fonction intégrée très utile, qui est utilisée pour remplacer le caractère spécial de la chaîne. str_replace() permet également de remplacer ce caractère par le caractère supprimé.

Cette fonction contient quelques paramètres, comme présenté ci-dessous.

  • $search_str: Il contient une telle valeur que nous voulons rechercher dans la chaîne donnée.
  • $replace_str: Il stocke une valeur que vous souhaitez remplacer, ou vous pouvez également le laisser vide si vous ne souhaitez que la suppression d’un caractère spécial.
  • $main_str: C’est la chaîne que nous voulons mettre à jour.
  • $count: Il représente le nombre de caractères que nous voulons remplacer ou supprimer.

Voir l’exemple de code.

<?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;
}
?>

Production:

Text before remove: 
This is a sim'ple text;


Text after remove: 
This is a simple text

Utilisez la fonction trim() pour supprimer les caractères spéciaux en PHP

Cette fonction supprime uniquement le caractère du premier et de la fin de la chaîne. Il ignore le caractère qui se trouve au milieu de la chaîne. Si vous souhaitez supprimer uniquement le début et la fin du caractère, nous utilisons cette fonction.

Cette fonction est facile à utiliser et ne prend pas trop de paramètres. Il ne demande que la chaîne principale dont vous souhaitez supprimer le premier et le dernier caractère spécial.
Ci-dessous, nous voyons comment cela fonctionne et quelle est sa sortie:

<?php
$mainstr = "@@PHP@Programming!!!.";
echo "Text before remove:\n" . $mainstr;
echo "\n\nText after remove: \n" . trim($mainstr, '@!.');
?>

Production:

Text before remove:
@@PHP@Programming!!!.

Text after remove: 
PHP@Programming  

Cette fonction a également deux variantes.

  • ltrim()
  • rtrim()

La fonction ltrim()

Il supprime uniquement les premiers caractères de votre chaîne.

<?php
$str = "geeks";
$str = ltrim($str, 'g');
echo $str;
?>

Production:

eeks

La fonction rtrim()

C’est la même chose que la fonction ci-dessus, mais elle peut supprimer les derniers caractères de votre chaîne.

<?php
$string = "DelftStack is a best platform.....";
echo "Output:  " . rtrim($string, ".");
?>

Production:

Output: DelftStack is a best platform

Utilisez les fonctions htmlspecialchars() et str_ireplace() pour supprimer un caractère spécial en PHP

Les htmlspecialchars() et str_ireplace() sont utilisés pour supprimer l’effet des caractères prédéfinis des données. Il convertit tous les éléments prédéfinis de Html en caractères spéciaux comme il convertit < en &lt,&, puis il sera converti en &amp.

Le str_ireplace() est utilisé pour la suppression des caractères Html du texte. Il fonctionne comme str_replace(), qui est brièvement expliqué ci-dessus, et peut effectuer des recherches insensibles à la casse. Cela signifie que lorsque nous supprimons le code de Html dans cette fonction et après traitement, cela peut supprimer tous les caractères spéciaux de Html comme <h2>, <b> e.t.c.

Voyons voir comment ça fonctionne:

<?php
$mainstr = "<h2>Welcome to <b>PHPWorld</b></h2>";

echo "Text before remove: \n" . $mainstr;

echo "\n\nText after remove: \n" .
    str_ireplace(array('&lt;b&gt;', '&lt;/b&gt;', '&lt;h2&gt;', '&lt;/h2&gt;'), '',
    htmlspecialchars($mainstr));
?>

Production:

Text before remove: 
<h2>Welcome to <b>PHPWorld</b></h2>

Text after remove: 
Welcome to PHPWorld

Utilisez la fonction substr() pour supprimer un caractère spécial en PHP

Comme nous le savons, la chaîne est une sorte de tableau. La fonction substr() supprime jusqu’à l’index spécifique du caractère.

<?php
$str = "@@HelloWorld";
$str1 = substr($str, 1);
echo $str1 . "\n\n";
$str1 = substr($str, 2);
echo $str1;
?>

Production:

@HelloWorld
HelloWorld

Utilisez la fonction strtr() pour supprimer un caractère spécial en PHP

Cette fonction est une fonctionnalité étonnante de PHP. Il traduit les caractères ou remplace les sous-chaînes. Il faut trois paramètres, le premier est la chaîne sur laquelle nous appliquons cette fonction après que le deuxième paramètre est ce caractère que nous voulons remplacer de cette chaîne et le dernier paramètre est ce caractère à partir duquel nous voulons remplacer la valeur du deuxième paramètre. Maintenant, nous voyons à travers la programmation:

<?php
$str = "ei all, I said eello";
//$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo "Output:  " . strtr($str, "e", "h");
?>

Production:

Output: hi all, I said hhllo

Il y a sa bonne fonctionnalité où str_replace() devient fail. Voici son exemple:

<?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";


?>

Production:

My name is Dave, not Steve.
My name is Steve or 7hf2348word, not Steve or 7hf2348word2.

Article connexe - PHP String