PHP头条
热点:

四、DWOO的过滤器

同样,dwoo中也支持用户编写过滤器,它可以在模版内容向用户输出前进行一些相关的操作,跟插件类似,可以使用addFilter()加载自己编写的过滤器,例子如下:

  1. <?php  
  2. function activate_mailto_links(Dwoo $dwoo$str) {  
  3. return preg_replace('/([a-zA-Z0-9]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+)/''<a href="mailto:$1">$1</a>'$str);  
  4. }  
  5. include 'dwooAutoload.php';  
  6. try {  
  7. $dwoo = new Dwoo();  
  8. $dwoo->addFilter('activate_mailto_links');  
  9. $tpl = new Dwoo_Template_File('tmpl/filter.tpl');  
  10. $data['string']= 'Press enquiries: press@example-domain.com or call 1-800-1234. General inquiries: info@example-domain.com.';  
  11. $dwoo->output($tpl$data);  
  12. } catch (Exception $e) {  
  13. echo "Error: " . $e->getMessage();   
  14. }  
  15. ?> 

这个例子的过滤器中,作用是自动把模版合成输出后的内容中的含有的邮件地址自动加上mailto:的邮件链接。结果如下输出:

shuchujieguo

同样,也可以这样写:

  1. <?php  
  2. class Dwoo_Filter_activate_mailto_links extends Dwoo_Filter  
  3. {   
  4. public function process($str)  
  5. {  
  6. return preg_replace('/([a-zA-Z0-9]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+)/''<a href="mailto:$1">$1</a>'$str);  
  7. }  
  8. }  
  9. ?> 

把该文件保存在dwoo下的plugins目录中,同样DWOO会自动加载。


www.phpzy.comtrue/php/9245.htmlTechArticle四、DWOO的过滤器 同样,dwoo中也支持用户编写过滤器,它可以在模版内容向用户输出前进行一些相关的操作,跟插件类似,可以使用addFilter()加载自己编写...

相关文章

相关频道:

PHP之友评论

今天推荐