Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Преобразовываются символы при передаче через json (https://javascript.ru/forum/jquery/43838-preobrazovyvayutsya-simvoly-pri-peredache-cherez-json.html)

housewm 23.12.2013 14:17

Преобразовываются символы при передаче через json
 
сделал небольшой граббер, собирает ссылки
использую simple_html_dom.php

в переменную $a записываются данные ссылки

($h3->find('a') as $a)


получается что в $a хранится: <a href="http://...">text</a>

в переменную $d я записываю текст этой ссылки

$d= $a->plaintext;


далее эту переменную с помощью json получаю в html

и тут загвоздка.

к примеру в ссылке текст "FULL & PART TIME WORKERS REQUIRED"

а в html приходит вот так "FULL &amp; PART TIME WORKERS REQUIRED"

почему преобразовываются символы при передаче?как этого избежать?

Rise 23.12.2013 14:56

Цитата:

Сообщение от housewm (Сообщение 288578)
а в html приходит вот так "FULL &amp; PART TIME WORKERS REQUIRED"

Ну и чо, в браузере то всё равно будет так отображаться "FULL & PART TIME WORKERS REQUIRED", возможно и в исходном коде сайта донора также прописан текст в ссылке, символ & через &amp;
Cм. спецсимволы

housewm 23.12.2013 15:06

в доноре все нормально

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

ок. можно тогда в js преобразовать &amp в & ?

Rise 23.12.2013 15:11

housewm,
var str = 'FULL &amp; PART TIME WORKERS REQUIRED';
    str = str.replace('&amp;', '&');
    alert(str);

Rise 23.12.2013 15:29

или так на стороне сервера: $d = htmlspecialchars_decode($a->plaintext); json здесь вообще не причем...


Часовой пояс GMT +3, время: 06:22.