SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

JS escape quotes

B

bedio

Guest
Молба за помощ.
Значи използвам един много лек tooltip script
http://sixrevisions.com/tutorials/javascript_tutorial/create_lightweight_javascript_tooltip/

Който съвсем нормално завършва така:
Код:
onmouseover="tooltip.show('Testing  123 ', 200);"
onmouseout="tooltip.hide();"

Проблема е там 4е при мен има променлива вместо прав текст. А тази променлива е сетната в .php и в нея се съдържат кавички понякога и това чупи от своя страна tooltip JS-та.

т.е. в html-a:
Код:
onmouseover="tooltip.show('<{$title}> ', 200);"
onmouseout="tooltip.hide();"

в php-то:
$title = "Ала бала /"ница/" лютеница";

Търсих за escape single i double quotes и други chars които чупят JS но не се справих добре с интеграцията в моя код.

Някой хелп... ?
 
Re: JS escape quotes

Но как да го вкарам във функцията tooltip.show
 
Re: JS escape quotes

Не си escape-ваш кавичките както трябва, ползвай \ , а не /

Код:
<?
$title = " \"shit happens \" ha! ";
?>
<script>
alert('<?=$title?>');
</script>

Объркал съм се като пиша примера. Правилно съм ги escape в php. Приблема е друг.
 
Re: JS escape quotes

Знам го това. ама как да вкарам document.write в
onmouseover="tooltip.show('ТЕ ТУК ', 200);"
 
Re: JS escape quotes

Код:
onmouseover="tooltip.show('onmouseover="tooltip.show('<?=str_replace(\"\'\",\"\\\'\",<{$pic.caption}>);?>', 200);"

нещо гърми
 
Re: JS escape quotes

Така, "'","\'", се чупи така:

<a href="http://7est.mqsto.com/wraps/photo/displayimage.php?pid=13544&album=random&cat=" onmouseover="tooltip.show('<?=str_replace("'","\'",<span class=photo_titles><b>Carmen Kass Vogue Fendi</b><br>21 показвания</span>);?>');" onmouseout="tooltip.hide();"><img src="http://7est.mqsto.com/wraps/photo/albums/userpics/10003/thumb_Fendi-VogueFra-April05-CarmenKass_Unk.jpg" class="image" border="0" alt="Fendi-VogueFra-April05-CarmenKass_Unk.jpg" /></a>
primer.jpg



Вариантът на млазов '\'','\\\'', работи, но tooltipa спира да баца. ето кода:
<a href="http://7est.mqsto.com/wraps/photo/displayimage.php?pid=14731&album=random&cat=" onmouseover="tooltip.show('<?=str_replace('\'','\\\'',<span class=photo_titles><b>Забавно</b><br>42 показвания</span>);?>');" onmouseout="tooltip.hide();"><img src="http://7est.mqsto.com/wraps/photo/albums/userpics/10019/thumb_titanic_v_nashi_dni.jpg" class="image" border="0" alt="titanic_v_nashi_dni.jpg" /></a>
 
Последно редактирано:
Re: JS escape quotes

да но сус смарти. ок си е. и като гледам втория пример горе си става и работи и не чупи кода генерално, но спира tooltipa. дори и да заменя кода със:

Код:
onmouseover="tooltip.show('<?=str_replace('\'','\\\'',123 123 123 xdv);?>');"

пак нещо спира да работи tooltipa:
<a href="http://7est.mqsto.com/wraps/photo/displayimage.php?pid=11918&album=random&cat=" onmouseover="tooltip.show('<?=str_replace('\'','\\\'',123 123 123 xdv);?>');" onmouseout="tooltip.hide();"><img src="http://7est.mqsto.com/wraps/photo/albums/userpics/10019/thumb_CONCEPT.jpg" class="image" border="0" alt="CONCEPT.jpg" /></a>

eto i kak si raboti bez grija:
Код:
onmouseover="tooltip.show('<{$pic.caption}>', 200);"

primer2.jpg
 
Последно редактирано:
Re: JS escape quotes

Но си прав, за парването. Ще си го направя директно в PHPто кадето се дефинира $pic.caption

Милех че може с JS директно да се нарпави в темплате файла.
 
Re: JS escape quotes

За да парсваш PHP кода в Smarty темплейта:

Код:
{php}php code {/php}


Малко е грубо, но понякога върши работа. :)
 
Последно редактирано:
Re: JS escape quotes

Много далече отидохме. все пак за JS е темата
 

Горе