Eliminar caracteres especiales en PHP

Muhammad Abubakar 30 enero 2023
  1. Utilice la función preg_replace() para eliminar caracteres especiales en PHP
  2. Utilice la función str_replace() para eliminar caracteres especiales en PHP
  3. Utilice la función trim() para eliminar caracteres especiales en PHP
  4. Utilice las funciones htmlspecialchars() y str_ireplace() para eliminar caracteres especiales en PHP
  5. Utilice la función substr() para eliminar caracteres especiales en PHP
  6. Utilice la función strtr() para eliminar caracteres especiales en PHP
Eliminar caracteres especiales en PHP

En programación, a veces, queremos eliminar algunos caracteres especiales de la cadena. Este tutorial muestra cómo usaremos diferentes funciones para eliminar el carácter especial de una cadena.

Utilice la función preg_replace() para eliminar caracteres especiales en PHP

Esta función preg_replace() contiene algunos parámetros como se presenta a continuación.

  • $pattern: este parámetro nos da un patrón para buscar cadenas o conjuntos de cadenas.
  • $replaceWith: En esto, damos el carácter a partir del cual se reemplaza la cadena o matriz $ patrón. Si el parámetro $pattern es un array y el parámetro $replaceWith es una cadena, entonces todo el parámetro $pattern se reemplaza por la cadena $replaceWith. Por otro lado, si los parámetros $pattern y $replaceWith son matrices, entonces hace lo mismo que en la condición anterior pero reemplaza la cadena indexada específica de $pattern con su índice de contador de respuesta de $replaceWith.
  • $string: esta es la cadena deseable que desea filtrar con un carácter especial.

Vea el ejemplo a continuación.

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

Producción :

My UpdatedString: Mynameishelloandemailhelloworldgmailcom

En esta función, puede eliminar fácilmente el carácter especial, pero antes de usar esta función, debe tener algunos conocimientos de expresión regular.

Utilice la función str_replace() para eliminar caracteres especiales en PHP

Esta también es una función incorporada muy útil, que se usa para reemplazar el carácter especial de la cadena. str_replace() también ayuda a reemplazar ese carácter con el carácter eliminado.

Esta función contiene algunos parámetros, como se presenta a continuación.

  • $search_str: Contiene el valor que queremos buscar en la cadena dada.
  • $replace_str: Almacena un valor que desea reemplazar, o también puede dejarlo vacío si solo desea eliminar un carácter especial.
  • $main_str: Es la cadena que queremos actualizar.
  • $count: Representa la cantidad de caracteres que queremos reemplazar o eliminar.

Vea el código de ejemplo.

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

Producción :

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


Text after remove: 
This is a simple text

Utilice la función trim() para eliminar caracteres especiales en PHP

Esta función solo elimina el carácter del primer y final de la cadena. Ignora al carácter que se encuentra en medio de la cadena. Si desea eliminar solo el inicio y el final del carácter, usamos esta función.

Esta función es fácil de usar y no requiere demasiados parámetros. Exige solo la cadena principal de la que desea eliminar su primer y último carácter especial.
A continuación vemos cómo funciona y cuál es su salida:

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

Producción :

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

Text after remove: 
PHP@Programming  

Esta función también tiene dos variantes.

  • ltrim()
  • rtrim()

La función ltrim()

Elimina solo los primeros caracteres de su cadena.

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

Producción :

eeks

La función rtrim()

Es lo mismo que la función anterior, pero puede eliminar los últimos caracteres de su cadena.

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

Producción :

Output: DelftStack is a best platform

Utilice las funciones htmlspecialchars() y str_ireplace() para eliminar caracteres especiales en PHP

Los htmlspecialchars() y str_ireplace() se utilizan para eliminar el efecto de los caracteres predefinidos de los datos. Convierte todos los elementos predefinidos de Html en caracteres especiales como convierte < en &lt,& y luego se convertirá en &amp.

El str_ireplace() se utiliza para la eliminación de caracteres Html del texto. Funciona como str_replace(), que se explica brevemente anteriormente, y puede realizar búsquedas que no distinguen entre mayúsculas y minúsculas. Significa que cuando desechamos el código de Html en esta función y después del procesamiento, puede eliminar todos los caracteres especiales de Html como <h2>, <b> e.t.c.

Vamos a ver cómo 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('&lt;b&gt;', '&lt;/b&gt;', '&lt;h2&gt;', '&lt;/h2&gt;'), '',
    htmlspecialchars($mainstr));
?>

Producción :

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

Text after remove: 
Welcome to PHPWorld

Utilice la función substr() para eliminar caracteres especiales en PHP

Como sabemos, la cadena es una especie de array. La función substr() elimina hasta el índice de carácter específico.

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

Producción :

@HelloWorld
HelloWorld

Utilice la función strtr() para eliminar caracteres especiales en PHP

Esta función es una característica sorprendente de PHP. Traduce caracteres o reemplaza subcadenas. Se necesitan tres parámetros, el primero es la cadena en la que aplicamos esta función, luego el segundo parámetro es ese carácter que queremos reemplazar de esa cadena y el último parámetro es ese carácter del que queremos reemplazar el valor de la cadena. segundo parámetro. Ahora vemos a través de la programación:

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

Producción :

Output: hi all, I said hhllo

Existe una buena característica donde str_replace() se convierte en error. A continuación se muestra su ejemplo:

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


?>

Producción :

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

Artículo relacionado - PHP String