当前位置:Gxlcms > PHP教程 > 用php更改非php输出内容

用php更改非php输出内容

时间:2021-07-01 10:21:17 帮助过:2人阅读

用php更改非php输出内容...


前几天有个需求,就是将页面输出的内容进行过滤... 进行域名更换...
比如本来将输出的www.csdn.net/image/上面的图片内容,现在迁移到了cdn上面,域名更改为cdn.csdn.net/image/
再不更改模版的基础上,直接将输出进行修正...

实现过程
1.将所有输出放到output buffer里面
2.在php脚本结束后对output buffer进行修改过滤,再输出.

so测试如下:
原输出假设是如下:








那么在输出html前,加入到php执行中如下代码即可进行html内容的替换
输出 function change_image_domain(){ $output = ob_get_contents(); //对输出进行更改 ob_clean(); $output = str_replace('http://www.csdn.net/image/','http://cdn.csdn.net/image/',$output); echo $output; //更改后的输出 } register_shutdown_function('change_image_domain'); ?>


则输出变成







重点在于
1.ob_xxx函数 output buffer控制
2.register_shutdown_function函数 注册一个脚本结束时运行的函数..

注意:
1.register_shutdown_function的这个输出必须是最后一个register的...
2.如果流程中有output buffer控制函数,需要具体情况具体分析,进行使用.

人气教程排行