PHP动态生成javascript文件的2个例子


Posted in PHP onApril 11, 2014

一、PHP动态生成

第一步:在PHP文件中直接写入JS代码,并在头部声明这是一个JavaScript文件

<?php header('Content-Type: application/x-javascript; charset=UTF-8');?>

第二步:用PHP输出转义JavaScript代码
function jsformat($str)
{
    $str = trim($str);
    $str = str_replace('\\s\\s', '\\s', $str);
    $str = str_replace(chr(10), '', $str);
    $str = str_replace(chr(13), '', $str);
    $str = str_replace('    ', '', $str);
    $str = str_replace('\\', '\\\\', $str);
    $str = str_replace('"', '\\"', $str);
    $str = str_replace('\\\'', '\\\\\'', $str);
    $str = str_replace("'", "\'", $str);
    return $str;
}

直接调用jsformat($str)
最后一步:进行url重写,比如PHP地址为 xxx/123.php 只要重写成 xxx/123.js 至此已经达成目的。

以PHPCMS为例

<?php header('Content-Type: application/x-javascript; charset=UTF-8');?>
{pc:content action="position" posid="1" order="id DESC" num="7" $catid=11}
<?php
function jsformat($str){
    $str = trim($str);
    $str = str_replace('\\s\\s', '\\s', $str);
    $str = str_replace(chr(10), '', $str);
    $str = str_replace(chr(13), '', $str);
    $str = str_replace('    ', '', $str);
    $str = str_replace('\\', '\\\\', $str);
    $str = str_replace('"', '\\"', $str);
    $str = str_replace('\\\'', '\\\\\'', $str);
    $str = str_replace("'", "\'", $str);
    return $str;
}
?>
{loop $data $v}
document.writeln("<?php echo jsformat("<a href=\"$v[url]\"><img src=\"$v[thumb]\"></a>");?>");
{/loop}
{/pc}

每一个循环都用 document.writeln()写出转移后的代码。

二、PHP include JS文件

通过html写javascript引入一个php的链接,该php实际上是生成js的文件:

if (20 == $ad_type_id) { // 对联
 ob_start ();
 include TMPL_PATH . 'Code/duilian.js';
 header("content-type: application/x-javascript");
 $code = ob_get_clean ();
 echo $code;
}

在php里面include js文件,js里面的var swf这样的变量,var swf = ‘‘,这里使用ob缓存,注意加上header(“content-type: application/x-javascript”),让浏览器知道这是个javascript的脚本文件。

页面上这样引用:

<script src="http://tg.1155t.cn/code/53/" language="JavaScript"></script>
PHP 相关文章推荐
基于PHP与XML的PDF文档生成技术
Oct 09 PHP
cmd下运行php脚本
Nov 25 PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
PHP中error_log()函数的使用方法
Jan 20 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
Dec 25 PHP
Laravel框架中Blade模板的用法示例
Aug 30 PHP
详解PHP中的外观模式facade pattern
Feb 05 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 PHP
php实现数组筛选奇数和偶数示例
Apr 11 #PHP
php求正负数数组中连续元素最大值示例
Apr 11 #PHP
PHP入门经历和学习过程分享
Apr 11 #PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 #PHP
php中的curl使用入门教程和常见用法实例
Apr 10 #PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 #PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
Apr 10 #PHP
You might like
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
Jquery图形报表插件 jqplot简介及参数详解
2012/10/10 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
基于javascript实现图片懒加载
2016/01/05 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
django 解决manage.py migrate无效的问题
2018/05/27 Python
python hough变换检测直线的实现方法
2019/07/12 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
浅析Python3 pip换源问题
2020/01/06 Python
python实现对变位词的判断方法
2020/04/05 Python
德国高尔夫商店:Par71.de
2020/11/29 全球购物
一道写SQL的面试题和答案
2013/11/19 面试题
shell程序中如何注释
2012/02/17 面试题
幼师自我鉴定范文
2013/10/01 职场文书
行政总监岗位职责
2013/12/05 职场文书
新领导上任欢迎词
2014/01/13 职场文书
教堂婚礼主持词
2014/03/14 职场文书
庆七一活动总结
2014/08/27 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
创业计划书介绍
2019/04/24 职场文书
Python虚拟环境virtualenv是如何使用的
2021/06/20 Python
python可视化大屏库big_screen示例详解
2021/11/23 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python