PHP에서 특수 문자 제거

Muhammad Abubakar 2023년1월30일
  1. preg_replace()함수를 사용하여 PHP에서 특수 문자 제거
  2. str_replace()함수를 사용하여 PHP에서 특수 문자 제거
  3. trim()함수를 사용하여 PHP에서 특수 문자 제거
  4. htmlspecialchars()str_ireplace()함수를 사용하여 PHP에서 특수 문자 제거
  5. substr()함수를 사용하여 PHP에서 특수 문자 제거
  6. strtr()함수를 사용하여 PHP에서 특수 문자 제거
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의 사전 정의 된 모든 요소를<&lt,&로 변환 한 다음&amp로 변환하는 것처럼 특수 문자로 변환합니다.

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('&lt;b&gt;', '&lt;/b&gt;', '&lt;h2&gt;', '&lt;/h2&gt;'), '',
    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.

관련 문장 - PHP String