2016-09-24 6 views
0

visjs timeline에 html 콘텐츠를로드하고 qtip2을 사용하여 타임 라인 내의 하이퍼 링크를 클릭 할 때 툴팁을 표시하려고합니다. 이 툴팁은 HTML 컨텐트를 표시해야하므로 ""안에 포함되어있어 title = ""에 삽입 할 때 문제가 발생합니다. 일반적으로 제목에 작은 따옴표를 사용할 수 있습니다 = '< -html - content->'그래서 따옴표를 처리 할 수 ​​있어야합니다. 하지만 나는 이미 자바 스크립트 자체에서 작은 따옴표를 사용하는 내부 자바 스크립트에서 이것을하려고하기 때문에 지금 나는 문제에 직면하고있다.title = ""의 qtip 및 html 데이터가 충돌을 일으키고 있습니다.

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']; ?>) }, 

하지만 알 수 있듯이 'href 등'은 이미 작은 따옴표를 사용하고 있습니다. 그래서 어떻게 충돌을 일으키지 않도록이 HTML 따옴표를 벗어날 수 있습니까? 제목과 같은 \ "\"href 시도했지만 아직 내 문제를 해결할 수있는 솔루션을 찾는 중입니다.

답변

1

PHP 변수를 출력하기 전에 htmlspecialchars을 사용해야합니다.

+0

흠 뭔가가 변경되었지만 이제는 HTML 콘텐츠가 여러 줄이 있기 때문에 내용이 손상된 것으로 보입니다. – HermesTrismegistus

+0

여러 행은 htmlspecialchars가 아닌 vars에서 가져옵니다. js 솔루션을 원하면 문서를 자세히 살펴 보거나 다른 대답을 확인하는 것이 좋습니다. 당신이보기에 너무 지저분 해지기 때문에 문자열의 if 문을 평가해서는 안됩니다. 이전에 그것들을 더 잘 평가하고, 단지 그들을 concatinate하십시오. 그리고 여러분이 올바른 형식으로 코드를 게시하면 도움이 될 것입니다. –

+0

도움말에 대해 str_replace, thanx로 줄 바꿈을 제거했습니다. 알았어. – HermesTrismegistus

0

JavaScript로 templating strings을 사용해보세요.

var string = `hello " and ' work in this string`;