我尝试将html内容加载到visjs timeline并使用qtip2在点击时间轴内的超链接时显示工具提示。此工具提示需要显示html内容,因此它具有""在它中,当它插入标题=""时会引起问题。通常我可以在标题中使用单引号='< -html - content->'所以它应该能够处理报价。但是现在我遇到了一个问题,因为我试图从javascript中尝试这样做,这已经使用了javascript本身的单引号。
如果我要将项目添加到visjs timeline,我需要像这样在时间轴中插入新项目。
{id: <?php echo $key; ?>, group: <?php echo $aspects['group'][$key]; ?>, content: '<a title="<?php if(isset($aspects['interpretation'][$key])): echo $aspects['interpretation'][$key]; endif;?>" role="button"><?php echo $aspects['symbols'][$key]; ?></a>', start: new Date(<?php echo $aspects['dates']['start'][$key]['year']; ?>, <?php echo $aspects['dates']['start'][$key]['month'] - 1;?>, <?php echo $aspects['dates']['start'][$key]['day'];?>, <?php echo $aspects['dates']['start'][$key]['hour'];?>, <?php echo $aspects['dates']['start'][$key]['min'];?>), end: new Date(<?php echo $aspects['dates']['end'][$key]['year']; ?>,<?php echo $aspects['dates']['end'][$key]['month'] - 1; ?>, <?php echo $aspects['dates']['end'][$key]['day']; ?>, <?php echo $aspects['dates']['end'][$key]['hour']; ?>, <?php echo $aspects['dates']['end'][$key]['min']; ?> ) },
但正如您所见,内容:&#39; href等&#39;已经使用单引号。那么我怎样才能逃脱这个HTML引号,这样才不会引起冲突呢?我尝试过title = \&#34; \&#34;在href,但我还没有找到解决我的问题的任何解决方案。
答案 0 :(得分:1)
在输出PHP变量之前,您应该使用htmlspecialchars。
答案 1 :(得分:0)
尝试在JavaScript中使用templating strings。
var string = `hello " and ' work in this string`;