HOWTO · PHP

Rimuovi carattere speciale in PHP

Questo tutorial mostra la rimozione di caratteri speciali dalla stringa in PHP

In questa pagina

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.