PHP动态生成javascript文件的2个例子
发布时间:2024-05-11 09:25:44
标签:PHP,动态生成,javascript
一、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>


猜你喜欢
- 1.今天网上下载一个博客项目,发现本地访问,js,css加载不了.我想应该是项目上线的安全措施,但是我想调试项目.找到方法如下在settin
- 大家知道,在js里encodeURIComponent 方法是一个比较常用的编码方法,但因工作需要,在asp里需用到此方法,查了好多资料,没
- 本文主要介绍的是MySQL慢查询分析方法,前一段日子,我曾经设置了一次记录在MySQL数据库中对慢于1秒钟的SQL语句进行查询。想起来有几个
- 下面给大家介绍下小程序弹窗禁止页面滚动的效果:在小程序弹窗时,外部页面禁止滚动, 可以在最外部容器设置catchtouchmove但是如果弹
- 这是一个非常愚蠢的错误debug的时候要好好看error信息提醒自己切记好好对待error!切记!切记!------------------
- 目录1安装loguru|2loguru简单使用|3loguru保留日志文件|4loguru字符串输出|5loguru封装类,可以直接拿去用!
- 啥也不说了,大家还是直接看图吧!补充知识:python http request header主要内容http request 请求头主要包
- 饼图常用于统计学模块,画饼图用到的方法为:pie( )一、pie()函数用来绘制饼图pie(x, explode=None, labels=
- 近期,又有接触到pyecharts这个包的使用,后面发现这个曾经好用的包发生了一些变化,为了方便大家的使用,这里整理如下:绘图风格theme
- 前言一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇文章了。这篇笔记主要记录mysql
- sql语句中默认是不区分大小写的,所以语句: Sql代码 SELECT * FROM RecEngineBizInfo WHERE RecE
- 列表生成式语法:[x*x for x in range(0,10)] //列表生成式,这里是中括号//结果 [0, 1, 4, 9, 16,
- Python中内置了list集合与tuple集合,在list集合中可以实现元素的添加、修改、插入、以及删除。tuple集合看似与list类似
- 之前都是直接拿sax,或dom等库去解析xml文件为Python的数据类型再去操作,比较繁琐,如今在写Django网站ajax操作时json
- 前言优化随机森林算法,正确率提高1%~5%(已经有90%+的正确率,再调高会导致过拟合)论文当然是参考的,毕竟出现早的算法都被人研究烂了,什
- 1. 算法描述二分法是一种效率比较高的搜索方法回忆之前做过的猜数字的小游戏,预先给定一个小于100的正整数x,让你猜猜测过程中给予大小判断的
- 概述在使用keras中的keras.backend.batch_dot和tf.matmul实现功能其实是一样的智能矩阵乘法,比如A,B,C,
- 最近在折腾Python Web,在测试的时候发现,本机可以正常访问,但外网无法通过公网IP访问页面。经过各种搜索,有大致三种解决方案。一、修
- 本文实例讲述了python实现控制电脑鼠标和键盘,登录QQ的方法。分享给大家供大家参考,具体如下:import osfrom pynput.
- MAC 中mysql密码忘记解决办法最近项目用到MySQL,之前装过一个,可是忘记了当时设置的密码,然后走上了修改密码的坎坷道路。在百度,G