如何从PHP对象输出单行JavaScript
How can I output a single-line JavaScript from a PHP object?
我的PHP代码:
include "something.php"
$mysite = writeContent();
//footer.php
ob_start();
echo "<script...all my javascript here...</script>";
$object = ob_get_contents();
ob_end_clean();
$search = array("'n","'r");
$replace = array("","");
$object = str_replace($search, $replace, $object);
echo $object;
那么我的JavaScript格式不正确,无法工作。
我知道我可以使用gzip
来提高速度(这不是我的要求),但我真正想要的是从代码中删除额外的空间。
您是否有可能遇到分号问题?您可能想先验证您的JavaScript,看看哪里出了问题,但这里有许多可能性之一:
var foo = 0 // This works fine
var bar = 1
// #=>
var foo = 0var bar = 1 // This doesn't
// And FWIW, this is what you want:
var foo = 0;
var bar = 1;
理想情况下,您应该LINT您的JS,然后通过经过适当测试的迷你程序运行它。对于PHP,我已经成功地使用了jsminphp。
既然Josh没有回答他的评论,我会的。
当替换换行符并且JavaScript缺少分号时,解释器无法检测语句的末尾。因此,只需确保脚本中的每一行都有一个";"。或者,您可以用分号替换所有新行,一行中有两个分号不是语法错误。不理想,但会成功的。
JAAulde的建议是,通过最小化程序运行它是最好的方法。这里有一个phphttps://github.com/rgrove/jsmin-php/
请参阅php 中的组合和压缩多个JavaScript文件
相关文章:
- 在JavaScript中输出转义字符
- 如何在jQuery中将函数的输出分配给变量
- Javascript,输出结果后页面不断刷新
- Datetime格式为Friendly Time.Moment JS输出错误
- 如何将angularjs中的javascript字符串输出为循环数组
- HTML5FileReader输出到D3.js图表
- console.log以外的Javascript输出函数
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- PHP中的数组输出
- 以不同的顺序输出数据
- 使用Rivets.js输出类
- 在Chrome扩展内部输出Google API调用
- 如何为d3.js图表输出组织/嵌套数据
- 将IndexedDB中的数据拉入数组,并通过ReactJS输出
- 一个ajax循环有两个输出错误innerHTML
- 快速排序程序未正确输出
- 函数将输出nan而不是数字,为什么
- 带有奇怪输出的单行 - 字符串作为“这个”是怎么回事
- JavaScript控制台输出到单行For和While循环
- 如何从PHP对象输出单行JavaScript