在 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 的所有特殊字符,例如 <h2>
</b>
等
让我们看看它是如何工作的:
<?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.
相关文章
如何在 PHP 中获取时间差的分钟数
发布时间:2023/03/29 浏览次数:183 分类:PHP
-
本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。