首先 通过PHP定义一个 字符串
// 每个上传后的组图容器
$albumHtml ='
<div class="controls album-one">
<div class="span12">
<button class="close pull-left" type="button" style="margin-right:10px;"><i class="icon-remove"></i></button>
<input type="hidden" name="'.$fieldName.'[attachment@id][id]" value="@id" />
<input type="hidden" name="'.$fieldName.'[attachment@id][src]" value="@img" />
<label class="pull-left" style="display:block;line-height:67px;">@id</label>
<img class="pull-left" style="height:67px;margin-left:10px;" src="'.$publicUrl.'/@img" />
<textarea name="'.$fieldName.'[attachment@id][desc]" class="span5 pull-left" style="margin-left:10px;" placeholder="这是图片描述"></textarea>
</div>
</div>';
// 如果这样 直接放到 JS里面 是不允许的,需要进行 转移 和 去除换行
$albumHtml = str_replace(PHP_EOL, '', addslashes(trim($albumHtml)));
// 换行的方法有3种,在这里转载一下:
<?php
//php 不同系统的换行
//不同系统之间换行的实现是不一样的
//linux 与unix中用 /n
//MAC 用 /r
//window 为了体现与linux不同 则是 /r/n
//所以在不同平台上 实现方法就不一样
//php 有三种方法来解决
//1、使用str_replace 来替换换行
$str = str_replace(array("\r\n", "\r", "\n"), "", $str);
//2、使用正则替换
$str = preg_replace('//s*/', '', $str);
//3、使用php定义好的变量 (建议使用)
$str = str_replace(PHP_EOL, '', $str);
?>
然后可以在 PHP里写JS:
<?php
$js =<<<js
$('#test').append($albumHtml);
js;
?>
这样,便大功告成!
之前用了PHP的一个函数 mysql_eascape_string() 结果在别人的环境下用不了 - - 悲剧~