想通过系统实现生成列表的时候,同时生成一个JS调用文件例如转换成以下形式document.write("<ul>");
document.write("<li><span>11-19</span><a href='index.php?act=info&50539 '>我的《创世OL》生活照</a></li>");
document.write("<li><span>11-19</span><a href='index.php?act=info&50538 '>上班族的福音——《创世OL》宠物代练</a></li>");
document.write("<li><span>11-19</span><a href='index.php?act=info&50537 '>《创世OL》新危机——啸天大将</a></li>");
document.write("<li><span>11-19</span><a href='index.php?act=info&50536 '>《创世OL》人生四大喜之他乡遇故知</a></li>");
document.write("<li><span>11-19</span><a href='index.php?act=info&50535 '>《创世OL》进门有“礼” 千万Q币Q钻还送666...</a></li>");
document.write("</ul>");我现在用的方法是……
$html_js="<!--\n";
$html_js.="document.write(\"<ul>\");\n";
foreach($newslist as $val){ $html_channel=$_POST['channel']==1?"[".$val->getNames()."]":null;
$html_url="<a href='http://".$_SERVER ['HTTP_HOST']."/index.php?act=info&".$val->getId()." ".$html_target."'>".iSubStr($val->getSubject(),$_POST['maxfont'])."</a>";
$html_author=$_POST['author']==1?"[".$val->getAuthor()."]":null;
$html_views=$_POST['views']==1?"[".$val->getViews()."]":null;
switch($_POST['df']) {
case "1": $html_dateline=date("Y-m-d",$val->getDateline()); break;
case "2": $html_dateline=date("m-d",$val->getDateline()); break;
case "3": $html_dateline=date("Y-m-d T",$val->getDateline()); break;
} $html_js.="document.write(\"<li><span>".$html_dateline."</span>".$html_channel.$html_url.$html_author.$html_views."</li>\");\n";
}
$html_js.="document.write(\"</ul>\");\n";
$html_js.="-->";
这样 如果需要改变生成JS的样式的话……很麻烦
希望能得到一个方法 可以直接把字符串转换成JS文件……多谢了
document.write("<li><span>11-19</span><a href='index.php?act=info&50539 '>我的《创世OL》生活照</a></li>");
document.write("<li><span>11-19</span><a href='index.php?act=info&50538 '>上班族的福音——《创世OL》宠物代练</a></li>");
document.write("<li><span>11-19</span><a href='index.php?act=info&50537 '>《创世OL》新危机——啸天大将</a></li>");
document.write("<li><span>11-19</span><a href='index.php?act=info&50536 '>《创世OL》人生四大喜之他乡遇故知</a></li>");
document.write("<li><span>11-19</span><a href='index.php?act=info&50535 '>《创世OL》进门有“礼” 千万Q币Q钻还送666...</a></li>");
document.write("</ul>");我现在用的方法是……
$html_js="<!--\n";
$html_js.="document.write(\"<ul>\");\n";
foreach($newslist as $val){ $html_channel=$_POST['channel']==1?"[".$val->getNames()."]":null;
$html_url="<a href='http://".$_SERVER ['HTTP_HOST']."/index.php?act=info&".$val->getId()." ".$html_target."'>".iSubStr($val->getSubject(),$_POST['maxfont'])."</a>";
$html_author=$_POST['author']==1?"[".$val->getAuthor()."]":null;
$html_views=$_POST['views']==1?"[".$val->getViews()."]":null;
switch($_POST['df']) {
case "1": $html_dateline=date("Y-m-d",$val->getDateline()); break;
case "2": $html_dateline=date("m-d",$val->getDateline()); break;
case "3": $html_dateline=date("Y-m-d T",$val->getDateline()); break;
} $html_js.="document.write(\"<li><span>".$html_dateline."</span>".$html_channel.$html_url.$html_author.$html_views."</li>\");\n";
}
$html_js.="document.write(\"</ul>\");\n";
$html_js.="-->";
这样 如果需要改变生成JS的样式的话……很麻烦
希望能得到一个方法 可以直接把字符串转换成JS文件……多谢了
file_put_contents('xxxx.js','js语句串')就搞定了。
return "document.write(\"$str\");\n";
}
function generate_js_start(){
return generate_js_dw('<ul>');
}
function generate_js_stop(){
return generate_js_dw('</ul>');
}
function generate_js_content($data){
/*
$html_channel=$_POST['channel']==1?"[".$val->getNames()."]":null;
$html_url="<a href='http://".$_SERVER ['HTTP_HOST']."/index.php?act=info&".$val->getId()." ".$html_target."'>".iSubStr($val->getSubject(),$_POST['maxfont'])."</a>";
$html_author=$_POST['author']==1?"[".$val->getAuthor()."]":null;
$html_views=$_POST['views']==1?"[".$val->getViews()."]":null;
switch($_POST['df']) {
case "1": $html_dateline=date("Y-m-d",$val->getDateline()); break;
case "2": $html_dateline=date("m-d",$val->getDateline()); break;
case "3": $html_dateline=date("Y-m-d T",$val->getDateline()); break;
}*/
// 以上代码需作适当修改 return generate_js_dw($str);
}
function genJs($data,$showType='list')
{
switch($showType)
{
case 'list':
//ul列表样式显示
//你的代码
break;
case 'table':
//table类标样式
//table列表样式的代码
break;
}
return $jscode;
}
然后在某个配置文件,定义好默认的显示样式,方便修改
比如
config.php
================
$config['listtype'] = 'list';//如果要全站改为table样式的列表,就在这里设置就行了.调用的时候require('config.php');
file_put_contents('xxxx.js',genJs($newlist,$config['listtype']));