Forums / National / Russian / Тех. поддержка / Апостроф в JS

Kopusha
#1 2020-12-09 06:07

Функцией cot_generate_projecttags формируется заголовок
'SHORTTITLE' => htmlspecialchars($item_data['item_title']),
Этот заголовок я использую в гугл-картах для вывода точек, но если в заголовке есть апостроф (it's first day к примеру) js крашится SyntaxError: Unexpected identifier (to it's first day</a>)
Как лучше поступить, не хочу обрезать возможность использовать апостроф в заголовках, а в js не хочу городить лишние конструкции по выпиливанию (точек будет много, на один запрос) - там такой код
 

	<!-- IF {PHP.totalitems} > 0 -->
    var locations = [
	<!-- BEGIN: PRJ_ROWS -->
        ['<a href="{PRJ_ROW_URL}" target="_blank">{PRJ_ROW_SHORTTITLE}</a>', {PRJ_ROW_PLACEMARKS_COORD}, '{PRJ_ROW_URL}', '{PRJ_ROW_CATTITLE}', '{PRJ_ROW_ID|cot_files_display('projects', $this, 'gallery', 'files.image-map.tpl')}'],
    <!-- END: PRJ_ROWS -->    
    ];
    <!-- ENDIF -->

 

Added 47 minutes later:

Пока придумал так

$item_plain_data = preg_replace("/'/", "\’", $item_plain_data);
менять ' на ’ 
This post was edited by Kopusha (2020-12-09 06:54, 3 years ago)
jCube Group
#2 2020-12-09 07:29

Используйте другие ковычки

var title = `{PRJ_ROW_SHORTTITLE}`;

главное в заголовке не использовать такие ковычки. Еще можно так

var title = "{PRJ_ROW_SHORTTITLE}";

 

Сделал группу в телеге https://t.me/Cotonti_help если что помогу с вопросами.
Kopusha
#3 2020-12-09 08:35

Ты не понял вопрос. У меня в самом тексте заголовка который пользователь ввел есть кавычки. В БД в varchar - Last day of the event is prior to it's first day
И в карте вывести js пытается этот текст и бьет из за ' в слове it's ошибку.
Я на бек меняю ' на 
’ теперь.

jCube Group
#4 2020-12-09 11:04

http://www.php.su/addslashes()

Сделал группу в телеге https://t.me/Cotonti_help если что помогу с вопросами.