1

我将 fullcalendar 与 qtip 一起用于基于事件的站点 (php),并且它运行良好。

我正在为想要做出的改变而苦苦挣扎。

在我的记录集中,我正在检索一个位置 - 这是来自 html 编辑器的自由文本。

这对于基本文本来说很好,我正在添加斜杠以在任何文本等中转义撇号。

但是,如果文本中有换行符,页面将不会渲染,并且在调试js时出现错误unexpected token ILLEGAL

我已经尝试了 strip_tags 功能,它似乎删除了有问题的
标签,但页面仍然不会呈现,只要我删除 br 标签,它就可以正常工作。

我正在从我的记录集中构建一个字符串并将其显示如下...

    <?php $eventlist = "";?>
    <?php do { ?>
    <?php $eventlist = $eventlist."{title:    '".addslashes($row_rsevents['EventName'])."', start: '". $row_rsevents['EventDate']."', starttime: '". $row_rsevents['StartTime']."', endtime: '". $row_rsevents['EndTime']."', dateF: '". $row_rsevents['EventDateF']."', className: '". $row_rsevents['CSSTag']."', host: '".addslashes($row_rsevents['HostDescription'])."', eventtype: '". $row_rsevents['EventTypeDescription']."', url: '"."event_detail.php?EventID=". $row_rsevents['EventID']."', description: '". addslashes(strip_tags($row_rsevents['Location']))."'},"; ?>
    <?php } while ($row_rsevents = mysql_fetch_assoc($rsevents)); ?>
    <?php $eventlist = rtrim($eventlist,',');//remove the trainling comma ?>


    ...events: [
    <?php echo $eventlist; ?>
    ],
4

1 回答 1

1

很难说你最终的 json 编码数组是什么样子,但你不需要手动编码;只需构建您的事件数组(就像您在fetch循环中所做的那样),然后echo json_encode($evarray)它应该处理您在标题、描述等中放入的任何字符。

您还可以添加自定义属性 ev.line1、ev.line2 并响应eventRender(ev, elt...)替换事件标题,如下所示:elt.find(".fc-event-title").html(ev.line1+"<br/>"+ev.line2);如果您想要br那里。

于 2012-12-12T05:17:04.057 回答