PHP에서 특수 문자 제거
-
preg_replace()
함수를 사용하여 PHP에서 특수 문자 제거 -
str_replace()
함수를 사용하여 PHP에서 특수 문자 제거 -
trim()
함수를 사용하여 PHP에서 특수 문자 제거 -
htmlspecialchars()
및str_ireplace()
함수를 사용하여 PHP에서 특수 문자 제거 -
substr()
함수를 사용하여 PHP에서 특수 문자 제거 -
strtr()
함수를 사용하여 PHP에서 특수 문자 제거
프로그래밍에서 때때로 문자열에서 일부 특수 문자를 제거하려고합니다. 이 튜토리얼은 문자열에서 특수 문자를 제거하기 위해 다른 함수를 사용하는 방법을 보여줍니다.
preg_replace()
함수를 사용하여 PHP에서 특수 문자 제거
이 함수preg_replace()
에는 아래에 소개 된대로 매개 변수가 거의 없습니다.
$pattern
: 이 매개 변수는 문자열 또는 문자열 배열을 검색하기위한 패턴을 제공합니다.$replaceWith
: 여기에서$pattern
문자열 또는 배열이 대체되는 문자를 제공합니다.$pattern
매개 변수가 배열이고$replaceWith
매개 변수가 문자열이면 모든$pattern
매개 변수가$replaceWith
문자열로 대체됩니다. 반면에$pattern
및$replaceWith
매개 변수가 모두 배열이면 위 조건에서와 동일하게 수행하지만$pattern
의 특정 색인 문자열을 응답 카운터 색인$ replaceWith로 대체합니다.
.$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
trim()
함수를 사용하여 PHP에서 특수 문자 제거
이 함수는 문자열의 첫 번째와 끝에서만 문자를 제거합니다. 문자열 중간에있는 문자를 무시합니다. 문자의 시작과 끝만 제거하려면이 기능을 사용합니다.
이 기능은 사용하기 쉽고 매개 변수를 너무 많이 사용하지 않습니다. 첫 번째와 마지막 특수 문자를 제거하려는 기본 문자열 만 필요합니다.
아래에서 작동 방식과 출력 내용을 확인합니다.
<?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 코드를 스크랩하고 처리 후<h2>
,<b>
e.t.c와 같은 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
substr()
함수를 사용하여 PHP에서 특수 문자 제거
아시다시피 문자열은 일종의 배열입니다. 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.