这些过滤器中的每一个都完全按照其名称所暗示的那样执行操作,并对应于内置 php 字符串处理函数的行为。有关给定过滤器的更多信息,请参阅相应函数的手册页。
使用此过滤器等效于通过 str_rot13() 函数处理所有流数据。
示例 #1 string.rot13
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.rot13');
fwrite($fp, "This is a test.\n");
/* 输出:Guvf vf n grfg. */
?>
使用此过滤器等效于通过 strtoupper() 函数处理所有流数据。
示例 #2 string.toupper
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.toupper');
fwrite($fp, "This is a test.\n");
/* 输出:THIS IS A TEST. */
?>
使用此过滤器等效于通过 strtolower() 函数处理所有流数据。
示例 #3 string.tolower
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.tolower');
fwrite($fp, "This is a test.\n");
/* 输出:this is a test. */
?>
使用此过滤器等效于通过 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);
/* 输出:bolded text 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);
/* 输出:bolded text enlarged to a level 1 heading */
?>