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 base64+gzinflate压缩编码和解码代码
Oct 03 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
Jun 05 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
php正则表达式获取内容所有链接
Jul 24 PHP
详解php比较操作符的安全问题
Dec 03 PHP
Smarty实现页面静态化(生成HTML)的方法
May 23 PHP
PHP中的Iterator迭代对象属性详解
Apr 12 PHP
laravel Validator ajax返回错误信息的方法
Sep 29 PHP
PHP 加密 Password Hashing API基础知识点
Mar 02 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 PHP
PHP http请求超时问题解决方案
Nov 13 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 Socket 编程
2010/04/09 PHP
php变量作用域的深入解析
2013/06/03 PHP
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
浅析node.js中close事件
2014/11/26 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
2016/05/10 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
微信小程序实现单选功能
2018/10/30 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
javascript判断一个变量是数组还是对象
2019/04/10 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
python 将md5转为16字节的方法
2018/05/29 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
python ssh 执行shell命令的示例
2020/09/29 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
string = null 和string = ''的区别
2013/04/28 面试题
面料业务员岗位职责
2013/12/26 职场文书
策划创业计划书
2014/02/06 职场文书
在校实习生求职信
2014/06/18 职场文书
领导班子三严三实对照检查材料
2014/09/25 职场文书
二手房购房意向书
2015/05/09 职场文书
JavaScript实例 ODO List分析
2022/01/22 Javascript