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版(3)
Oct 09 PHP
php 缓存函数代码
Aug 27 PHP
用PHP调用Oracle存储过程的方法
Sep 12 PHP
PHP isset()与empty()的使用区别详解
Aug 29 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
基于PHP CURL用法的深入分析
Jun 09 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
php的无刷新操作实现方法分析
Feb 28 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 26 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结合jQuery实现找回密码
2015/07/22 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
php生成word并下载代码实例
2019/03/15 PHP
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
浅谈json取值(对象和数组)
2016/06/24 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
layui radio性别单选框赋值方法
2018/08/15 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
Python搜索引擎实现原理和方法
2017/11/27 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
解读python如何实现决策树算法
2018/10/11 Python
python实现图片中文字分割效果
2019/07/22 Python
python+logging+yaml实现日志分割
2019/07/22 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
美国内衣品牌:Leonisa
2016/08/14 全球购物
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
办公室保洁员岗位职责
2013/12/02 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
考试诚信承诺书
2014/05/23 职场文书
企业晚会策划方案
2014/05/29 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis
Python与C++中梯度方向直方图的实现
2022/03/17 Python
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL