在 PHP 中刪除特殊字元
-
使用
preg_replace()
函式刪除 PHP 中的特殊字元 -
使用
str_replace()
函式刪除 PHP 中的特殊字元 -
在 PHP 中使用
trim()
函式來刪除特殊字元 -
使用
htmlspecialchars()
和str_ireplace()
函式刪除 PHP 中的特殊字元 -
在 PHP 中使用
substr()
函式來刪除特殊字元 -
使用
strtr()
函式刪除 PHP 中的特殊字元
有時,在程式設計中,我們想從字串中刪除一些特殊字元。本教程說明了如何使用不同的功能從字串中刪除特殊字元。
使用 preg_replace()
函式刪除 PHP 中的特殊字元
preg_replace()
函式包含的引數很少,如下所述。
$pattern
:此引數為我們提供了一種用於搜尋字串或字串數組的模式。$replaceWith
:在這種情況下,我們給出替換$pattern
字串或陣列的字元。如果$pattern
引數是一個陣列,而$replaceWith
引數是一個字串,則所有$pattern
引數將被$replaceWith
字串替換。另一方面,如果$pattern
和$replaceWith
引數都是陣列,則它與上述條件相同,只是用響應計數器索引$replaceWith
替換了特定的索引$pattern
字串。$string
:這是你要用特殊字元過濾的理想字串。
請參見下面的示例。
<?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;
?>
輸出:
My UpdatedString: Mynameishelloandemailhelloworldgmailcom
在此函式中,你可以輕鬆刪除特殊字元,但是在使用此函式之前,你需要具有一些正規表示式知識。
使用 str_replace()
函式刪除 PHP 中的特殊字元
這也是一個非常有用的內建函式,用於替換字串中的特殊字元。str_replace()
還可幫助用刪除的字元替換該字元。
此函式包含很少的引數,如下所述。
$search_str
:它包含我們要在給定字串中搜尋的值。$replace_str
:它儲存你要替換的值,或者,如果你只想刪除特殊字元,也可以將其保留為空。$main_str
:這是我們要更新的字串。$count
:代表我們要替換或刪除的字元數。
請參閱示例程式碼。
<?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;
}
?>
輸出:
Text before remove:
This is a sim'ple text;
Text after remove:
This is a simple text
在 PHP 中使用 trim()
函式來刪除特殊字元
此函式僅從字串的開頭和結尾刪除字元。它忽略字串中間的字元。如果你只想刪除字元的開頭和結尾,則可以使用此函式。
此函式易於使用,並且不需要太多引數。它僅需要你要從中刪除其第一個和最後一個特殊字元的主字串。
在下面,我們看到了它的工作原理以及它的輸出是什麼。
<?php
$mainstr = "@@PHP@Programming!!!.";
echo "Text before remove:\n" . $mainstr;
echo "\n\nText after remove: \n" . trim($mainstr, '@!.');
?>
輸出:
Text before remove:
@@PHP@Programming!!!.
Text after remove:
PHP@Programming
此函式也有兩個變體。
ltrim()
rtrim()
ltrim()
函式
它僅刪除字串的第一個字元。
<?php
$str = "geeks";
$str = ltrim($str, 'g');
echo $str;
?>
輸出:
eeks
rtrim()
函式
與上面的函式相同,但是可以刪除字串的最後一個字元。
<?php
$string = "DelftStack is a best platform.....";
echo "Output: " . rtrim($string, ".");
?>
輸出:
Output: DelftStack is a best platform
使用 htmlspecialchars()
和 str_ireplace()
函式刪除 PHP 中的特殊字元
htmlspecialchars()
和 str_ireplace()
用於從資料中刪除預定義字元的影響。它將 Html 的所有預定義元素轉換為特殊字元,就像將 <
轉換為<,&
一樣,然後將其轉換為&
。
str_ireplace()
用於從文字中刪除 HTML 字元。它的作用類似於 str_replace()
,上面已作了簡要說明,並且可以執行不區分大小寫的搜尋。這意味著當我們在此函式中以及在處理完 Html 程式碼後,會刪除 Html 的所有特殊字元,例如
, 等。
讓我們看看它是如何工作的:
<?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));
?>
輸出:
Text before remove:
<h2>Welcome to <b>PHPWorld</b></h2>
Text after remove:
Welcome to PHPWorld
在 PHP 中使用 substr()
函式來刪除特殊字元
眾所周知,字串是一種陣列。substr()
函式最多刪除特定的字元索引。
<?php
$str = "@@HelloWorld";
$str1 = substr($str, 1);
echo $str1 . "\n\n";
$str1 = substr($str, 2);
echo $str1;
?>
輸出:
@HelloWorld
HelloWorld
使用 strtr()
函式刪除 PHP 中的特殊字元
此函式是 PHP 的一個了不起的功能。它轉換字元或替換子字串。它包含三個引數,第一個是要在其上應用此函式的字串,第二個引數是要從該字串中替換的字元,最後一個引數是要從中替換該值的字元第二個引數。現在我們看一下程式設計:
<?php
$str = "ei all, I said eello";
//$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo "Output: " . strtr($str, "e", "h");
?>
輸出:
Output: hi all, I said hhllo
在 str_replace()
變得失敗時,它有一個很好的特點。下面是它的例子。
<?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";
?>
輸出:
My name is Dave, not Steve.
My name is Steve or 7hf2348word, not Steve or 7hf2348word2.