문자열 필터
이 단어는 PHP에서 특별한 의미를 갖습니다. 그들 중 일부는 함수처럼 보이는 것을 나타내고, 일부는 상수처럼 보이는 등을 나타냅니다. 그러나 실제로는 그렇지 않습니다. 그것들은 언어 구조입니다. 다음 단어는 상수, 클래스 이름, 함수 또는 메서드 이름으로 사용할 수 없습니다. 그러나 클래스를 상수 이름으로 사용할 수 없다는 점을 제외하고 클래스, 인터페이스 및 특성의 속성, 상수 및 메서드 이름으로 사용할 수 있습니다.
string.rot13
이 필터를 사용하는 것은 str_rot13() 함수를 통해 모든 스트림 데이터를 처리하는 것과 같습니다.
예제 #1 string.rot13
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.rot13');
fwrite($fp, "This is a test.\n");
/* Outputs: Guvf vf n grfg. */
?>
string.toupper
이 필터를 사용하는 것은 strtoupper() 함수를 통해 모든 스트림 데이터를 처리하는 것과 같습니다.
예제 #2 string.toupper
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.toupper');
fwrite($fp, "This is a test.\n");
/* Outputs: THIS IS A TEST. */
?>
string.tolower
이 필터를 사용하는 것은 strtolower() 함수를 통해 모든 스트림 데이터를 처리하는 것과 같습니다.
예제 #3 string.tolower
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.tolower');
fwrite($fp, "This is a test.\n");
/* Outputs: this is a test. */
?>
string.strip_tags
이 필터를 사용하는 것은 strip_tags() 함수를 통해 모든 스트림 데이터를 처리하는 것과 같습니다. 두 가지 형식 중 하나로 매개변수를 허용합니다. strip_tags() 함수의 두 번째 매개변수와 유사한 태그 목록을 포함하는 문자열 또는 태그 이름의 배열입니다.
경고 이 기능은 PHP 7.3.0부터 더 이상 사용되지 않습니다. 이 기능에 의존하는 것은 매우 권장하지 않습니다.
예제 #4 string.strip_tags
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($fp, "<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs: <b>bolded text</b> enlarged to a level 1 heading */
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($fp, "<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Outputs: <b>bolded text</b> enlarged to a level 1 heading */
?>