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 VS ASP
Oct 09 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
destoon找回管理员密码的方法
Jun 21 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 PHP
PHP实现清除MySQL死连接的方法
Jul 23 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 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开启安全模式后禁用的函数集合
2011/06/26 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
javascript 面向对象编程  function是方法(函数)
2009/09/17 Javascript
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
JS实现电商放大镜效果
2017/08/24 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
如何让微信小程序页面之间的通信不再变困难
2019/06/03 Javascript
Python程序设计入门(3)数组的使用
2014/06/16 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
python线程join方法原理解析
2020/02/11 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
2014年两会学习心得体会
2014/03/10 职场文书
校长寄语大全
2014/04/09 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
研究生简历自我评价范文
2014/09/13 职场文书
学习心理学的体会
2014/11/07 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
jquery插件实现悬浮的菜单
2021/04/24 jQuery
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python
Python基本数据类型之字符串str
2021/07/21 Python
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL