ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 过滤器钩子 `filter` 执行机制为执行行为下的所有的钩子,并将前一个钩子的值注入到下一个钩子,知道结束,返回最后一个钩子返回值. ``` Hooks::filter('行为名称','参数(按需求传参即可)'); ``` ### 例: 添加钩子 ``` Hooks::add('replace_ubb',Hooks\Hooks::class,'replace_ubb'); Hooks::add('replace_ubb',Hooks\Hooks::class,'replace_ubb2'); ``` 编写钩子 ``` <?php namespace Hooks; class Template { public function replace_ubb($str){ return preg_replace('/\[img\](.+)\[\/img\]/is',"<img src=\"\\1\"/>"); } public function replace_ubb2($str){ return preg_replace('/\[red\](.+)\[\/red\]/is',"<span style='color:#ff0000'>\\1</span>"); } } ``` 执行钩子 ``` Hooks::filter('replace_ubb','[img]http://example.com/example.jpg[/img][red]红色[/red]'); ``` 执行结果 ``` <img src="http://example.com/example.jpg"/><span style='color:#ff0000'>红色</span> ``` # 过滤器一般长用于数据处理