Rimuovi carattere speciale in PHP

Muhammad Abubakar 4 dicembre 2021
  1. Usa la funzione preg_replace() per rimuovere caratteri speciali in PHP
  2. Usa la funzione str_replace() per rimuovere caratteri speciali in PHP
  3. Usa la funzione trim() per rimuovere caratteri speciali in PHP
  4. Usa le funzioni htmlspecialchars() e str_ireplace() per rimuovere caratteri speciali in PHP
  5. Usa la funzione substr() per rimuovere caratteri speciali in PHP
  6. Usa la funzione strtr() per rimuovere caratteri speciali in PHP
Rimuovi carattere speciale in PHP

In programmazione, a volte, vogliamo rimuovere alcuni caratteri speciali dalla stringa. Questo tutorial mostra come utilizzeremo diverse funzioni per rimuovere il carattere speciale da una stringa.

Usa la funzione preg_replace() per rimuovere caratteri speciali in PHP

Questa funzione preg_replace() contiene pochi parametri come introdotto di seguito.

  • $pattern: questo parametro ci fornisce un modello per la ricerca di stringhe o array di stringhe.
  • $replaceWith: In questo, diamo il carattere da cui viene sostituita la stringa o l’array $pattern. Se il parametro $pattern è un array e il parametro $replaceWith è una stringa, allora tutto il parametro $pattern è sostituito dalla stringa $replaceWith. D’altra parte, se entrambi i parametri $pattern e $replaceWith sono array, allora fa lo stesso della condizione precedente ma sostituisce la specifica stringa indicizzata di $pattern con il suo indice contatore di risposta di $replaceWith.
  • $string: questa è la stringa desiderabile che desideri filtrare con un carattere speciale.

Vedi l’esempio sotto.

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

Produzione:

My UpdatedString: Mynameishelloandemailhelloworldgmailcom

In questa funzione è possibile rimuovere facilmente il carattere speciale, ma prima di utilizzare questa funzione è necessario avere una conoscenza approfondita delle espressioni regolari.

Usa la funzione str_replace() per rimuovere caratteri speciali in PHP

Questa è anche una funzione incorporata molto utile, che viene utilizzata per sostituire il carattere speciale della stringa. str_replace() aiuta anche a sostituire quel carattere con il carattere rimosso.

Questa funzione contiene pochi parametri, come introdotto di seguito.

  • $search_str: Contiene il valore che vogliamo cercare nella stringa data.
  • $replace_str: Memorizza un valore che vuoi sostituire, oppure puoi anche lasciarlo vuoto se vuoi solo la rimozione di un carattere speciale.
  • $main_str: è la stringa che vogliamo aggiornare.
  • $count: rappresenta il numero di caratteri che vogliamo sostituire o rimuovere.

Vedi il codice di esempio.

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

Produzione:

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


Text after remove: 
This is a simple text

Usa la funzione trim() per rimuovere caratteri speciali in PHP

Questa funzione rimuove solo il carattere dal primo e dalla fine della stringa. Ignora il carattere che si trova nel mezzo della stringa. Se vuoi rimuovere solo l’inizio e la fine del carattere, allora usiamo questa funzione.

Questa funzione è facile da usare e non richiede troppi parametri. Richiede solo la stringa principale da cui si desidera rimuovere il loro primo e ultimo carattere speciale.
Di seguito vediamo come funziona e qual è il suo output:

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

Produzione:

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

Text after remove: 
PHP@Programming  

Anche questa funzione ha due varianti.

  • ltrim()
  • rtrim()

La funzione ltrim()

Rimuove solo i primi caratteri della stringa.

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

Produzione:

eeks

La funzione rtrim()

È la stessa della funzione precedente, ma può rimuovere gli ultimi caratteri della stringa.

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

Produzione:

Output: DelftStack is a best platform

Usa le funzioni htmlspecialchars() e str_ireplace() per rimuovere caratteri speciali in PHP

I caratteri htmlspecialchars() e str_ireplace() sono usati per rimuovere l’effetto dei caratteri predefiniti dai dati. Converte tutti gli elementi predefiniti di Html in caratteri speciali come se convertisse < in &lt,&, quindi verrà convertito in &amp.

Il str_ireplace() è usato per rimuovere i caratteri Html dal testo. Funziona come str_replace(), spiegato brevemente sopra, e può eseguire ricerche senza distinzione tra maiuscole e minuscole. Significa che quando scartiamo il codice di Html in questa funzione e dopo l’elaborazione, potrebbe rimuovere tutti i caratteri speciali di Html come <h2>, <b> e.t.c.

Vediamo come funziona:

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

Produzione:

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

Text after remove: 
Welcome to PHPWorld

Usa la funzione substr() per rimuovere caratteri speciali in PHP

Come sappiamo, la stringa è una specie di array. La funzione substr() rimuove fino all’indice di carattere specifico.

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

Produzione:

@HelloWorld
HelloWorld

Usa la funzione strtr() per rimuovere caratteri speciali in PHP

Questa funzione è una caratteristica straordinaria di PHP. Traduce i caratteri o sostituisce le sottostringhe. Richiede tre parametri, il primo è la stringa su cui applichiamo questa funzione dopodiché il secondo parametro è quel carattere che vogliamo sostituire da quella stringa e l’ultimo parametro è quel carattere da cui vogliamo sostituire il valore del secondo parametro. Ora vediamo attraverso la programmazione:

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

Produzione:

Output: hi all, I said hhllo

C’è la sua buona caratteristica in cui str_replace() diventa fallito. Di seguito è il suo esempio:

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


?>

Produzione:

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

Articolo correlato - PHP String