php动态生成链接,PHP动态生成javascript文件的2个例子

本文介绍了如何在PHP中动态生成JavaScript代码,包括设置Content-Type头,转义特殊字符,以及通过PHP的ob缓存来包含JS文件。此外,还展示了如何在PHP中使用if条件判断来根据需求引入JS文件,并通过header函数指定内容类型为JavaScript。这种方法常用于动态生成前端代码或实现特定的页面交互效果。
摘要由CSDN通过智能技术生成

一、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}

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("%24v%5Bthumb%5D");?>");

{/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的脚本文件。

页面上这样引用:

复制代码 代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值