2014-11-15 3 views
0

У меня есть этот код:Одинарные кавычки внутри одинарных кавычек вызвать ошибку

<span onmouseout="tooltip.hide();" onmouseover="tooltip.show('Hello. This is a simple tooltip, I'm here if you need me, we've been away for some time.');" class="hotspot">test link</span> 

дело в том, что одиночная кавычке ' вызывает всплывающую подсказку, чтобы не показать ... так что я имею в виду, если текст содержит ' подсказку не будет отображаться ... потому что весь текст уже внутри одинарных кавычек ...

Может кто-нибудь, пожалуйста, помогите мне исправить это?

+1

Это цитата, и вы можете избежать его с '\» ', поэтому он становится' I \ 'm' вместо этого. – adeneo

+0

Дело в том, что содержимое внутри «tooltip.show» id DYNAMIC, поэтому пользовательский текст вводит текст там. –

+1

Возможно, вам действительно нужно исправить эту серверную сторону. Основываясь на комментарии ниже, я полагаю, вы используете Joomla? Вы должны обновить свой вопрос (и теги), чтобы отразить это, если это так, поскольку он, надеюсь, привлечет правильное внимание – CupawnTae

ответ

1

Попробуйте установить текст подсказки в вар, а затем делает заменить на одинарные кавычки с &apos;

var tooltip = tooltip.replace(/'/g, "&apos;"); 
+0

Это фактическая текстовая переменная, которая у меня есть сейчас: '$ numwords = 50;' 'preg_match («/ (\ S + \ s *) {0, $ numwords} /", $ this-> row-> description, $ regs); ' ' $ desc = str_replace ('"'," ", preg_replace ('/ (\ s \ s + | \ t | \ n) /', '', JFilterOutput :: cleanText ($ regs [0]))); ' –

0

Fixed это сам.

Так что я просто заменить каждый экземпляр 'в \' в функции str_replace :)

БЫЛО:

$desc = str_replace('"', "", preg_replace('/(\s\s+|\t|\n)/', ' ', JFilterOutput::cleanText($regs[0]))); 

ТЕПЕРЬ:

$desc = str_replace("'", "\\'", preg_replace('/(\s\s+|\t|\n)/', ' ', JFilterOutput::cleanText($regs[0]))); 
0

Использование &rsquo; для специальных символов в HTML ,

<span onmouseout="tooltip.hide();" onmouseover="tooltip.show('Hello. This is a simple tooltip, I&rsquo;m here if you need me, we&rsquo;ve been away for some time.');" class="hotspot">test link</span> 

Я создал рабочую демонстрацию с alert() вы можете запустить этот код :)

<span onmouseover="alert('Hello. This is a simple tooltip, I&rsquo;m here if you need me, we&rsquo;ve been away for some time.');" 
 
class="hotspot">test link</span>

Смежные вопросы