具体要求?
html的来源?
js的输出方式?通常转换后,html代码变成了串。只需注意到以下两点
1、如转换后的串用“""”括起,则原html中的“"”要替换成“\"”
2、js的续行符是 串中的换行符(\n 或 \r\n)要替换成\\n
html的来源?
js的输出方式?通常转换后,html代码变成了串。只需注意到以下两点
1、如转换后的串用“""”括起,则原html中的“"”要替换成“\"”
2、js的续行符是 串中的换行符(\n 或 \r\n)要替换成\\n
ob_start();
$agentid=$_GET['agentid'];
$tpl->display("test.htm");
$str = ob_get_contents();然后把$str防到一个html 2 js 的函数里 进行自动转化
然后把转换后的JS代码输出,不知道 $str = ob_get_contents(); 的方法行不行还有一个问题就是用ADODB类没有用 $db->close()会不会很耗系统资源(如果用户访问量比较多的时候)
$str = ob_get_contents();
$str = str_replace('"','\\"',$str);
$str = eregi_replace("\r?\n","\\n",$str); //如果你确认不会有\r那么用str_replace要快些
echo <<< JS
<script>
document.write("$str");
</script>
JS;
2、有没有用 $db->close()并无直接的关系,php会自行关闭的
但是显式的执行$db->close()使得程序比较规范,并在优化程序时可不必考虑他的影响了。
注意:$db->close()不是放在程序的结尾处,而是放在最后一次使用查询结果之后
require_once("lib/main.php");
$tpl->display("test.htm");
$str = ob_get_contents();
$str = str_replace('"','\\"',$str);
$str = eregi_replace("\r?\n","\\n",$str);
echo <<< JS
<script>
document.write("$str");
</script>
JS;试了一下 好象是有html输出,用调试器查看
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
</tr>
</table><script>
document.write(\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n</table>\n
);
</script说明$tpl->display("test.htm") 是输出的
怎么让他不输出 我记得好象有一个函数的
改了一下
ob_start();
require_once("lib/main.php");
$tpl->display("test.htm");
$str = ob_get_contents();
$str = str_replace('"','\\"',$str);
$str = eregi_replace("\r?\n","\\n",$str);
ob_end_clean();
echo <<< JS
<script>
document.write("$str");
</script>
JS;HTML代码不输出了 但是还是有错误
<script>
document.write("\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n</table>\n
");
</script这是在WINODWS的代码调试器里面看的 不知道为什么 最后是</script
<script>
document.write("\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n <tr>\n <td>1</td>\n <td>1</td>\n </tr>\n</table>\n");
</script>
不清楚你为什么回得到那样的结果。
<script>
document.write("$str");
</script>
// <==这里加个空行看看结果是否正确
JS;
echo <<< JS
document.write("123");
// <==这里加个空行看看结果是否正确
JS;
是能输出 123 的
但是换成$str还是不行
我估计是转换还有问题