PHP에서 민감한 단어 대체를 처리하는 것은 특히 소셜 플랫폼, 포럼 및 기타 웹 사이트에서 일반적인 요구 사항입니다. 사용자의 언어가 규정을 준수하도록하려면 민감한 단어를 정확하게 대체해야합니다. Stripos 와 Str_irePlace 는 일반적으로 사용되는 두 가지 PHP 기능으로이를 달성하기 위해 잘 작동합니다.
stripos는 서브 스트링의 첫 번째 발생을 찾는 데 사용되는 함수이며, 대소 문자는 비판적입니다. str_ireplace 는 문자열을 교체하는 데 사용할 수있는 함수이며, 케이스에도 민감합니다. Stripos를 통해 민감한 단어의 위치를 찾은 다음 str_ireplace 로 바꿀 수 있습니다.
Stripos 함수의 기능은 문자열의 첫 번째 발생 위치 정보를 찾아 문자열에서 서브 스트링의 첫 번째 발생 위치를 반환하는 것입니다. 이 기능은 대소 문자를 사용하지 않습니다.
stripos($haystack, $needle, $offset);
$ Haystack : 찾을 문자열.
$ 바늘 : 찾을 수있는 서브 스트링.
$ 오프셋 : 선택 사항, 검색을 시작할 위치를 지정하십시오.
$haystack = "Hello world!";
$needle = "world";
$position = stripos($haystack, $needle);
echo $position; // 산출 6
str_ireplace는 문자열을 대체하는 데 사용되는 함수이며, 대소 문자는 비판적입니다.
str_ireplace($search, $replace, $subject, &$count);
$ 검색 : 검색 할 문자열입니다.
$ 교체 : 교체하는 데 사용되는 문자열입니다.
$ 제목 : 대상 문자열을 교체합니다.
$ count : 선택 사항은 교체 수를 반환합니다.
$subject = "Hello world!";
$search = "world";
$replace = "PHP";
$result = str_ireplace($search, $replace, $subject);
echo $result; // 산출 Hello PHP!
민감한 단어를 정확하게 대체하기 위해 Stripos 와 Str_ireplace 의 기능을 결합 할 수 있습니다. Stripos는 민감한 단어의 위치를 찾는 데 사용됩니다. 민감한 단어가 존재하는 경우 str_ireplace 로 바꾸십시오.
<?php
// 민감한 단어 목록을 정의합니다
$sensitiveWords = ['badword', 'offensiveword', 'curseword'];
// 입력 된 문자열
$text = "This is a test string containing badword and offensiveword.";
// 민감한 단어 목록을 가로 지르고 있습니다,하나로 교체하십시오
foreach ($sensitiveWords as $word) {
// 사용 stripos 민감한 단어가 포함되어 있는지 확인하십시오
if (stripos($text, $word) !== false) {
// 사용 str_ireplace 민감한 단어를 대체하십시오
$text = str_ireplace($word, '***', $text);
}
}
echo $text; // 산출:This is a test string containing *** and ***.
?>
대부분의 경우 사용자가 입력 한 텍스트에는 URL이 포함될 수 있습니다. 이 URL에 민감한 단어가 있으면 처리해야합니다. Stripos 및 Str_irePlace를 사용하여 URL의 민감한 단어를 쉽게 대체합니다. 예를 들어, 민감한 단어가 URL에 나타나면 도메인 이름을 m66.net 으로 바꾸어 사용자가 입력 한 URL이 안전한지 확인할 수 있습니다.