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数组
Oct 09 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
Oct 12 PHP
php对二维数组按指定键值key排序示例代码
Nov 26 PHP
php内核解析:PHP中的哈希表
Jan 30 PHP
深入理解PHP中的global
Aug 19 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
php中mysql连接方式PDO使用详解
Feb 25 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
PHP实现微信提现功能
Sep 30 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
关于PHP求解三数之和问题详析
Nov 09 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无限级栏目分类读取的实现代码
2014/02/19 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
2016/05/16 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
表单提交验证类
2006/07/14 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
轻松创建nodejs服务器(7):阻塞操作的实现
2014/12/18 NodeJs
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
Python程序设计入门(2)变量类型简介
2014/06/16 Python
python opencv3实现人脸识别(windows)
2018/05/25 Python
django 信号调度机制详解
2019/07/19 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
最经典的商业地产项目广告词
2014/03/13 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
关于建议书的格式范文
2014/05/20 职场文书
社会实践的活动方案
2014/08/22 职场文书
幼儿园六一主持词
2015/06/30 职场文书
老人节主持词
2015/07/04 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
七年级数学教学反思
2016/02/17 职场文书
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记