|
|
deBrain V.I.P. |
Зарегистрирован: 03.06.2010
Сообщений: 1569
|
Обратиться по нику
|
deBrain |
Ответить с цитатой | | |
|
В общем есть проблема...
Заключается она в том, что я не могу преобразовать HTML сущность в текст. Вот пример: http://debrain.ru/2011/03/sgmanage-molodcy/
Там в конце поста есть 3 кнопки социалок. ВКонтакте всё ништяк при почти любых раскладах, а вот в фейсбуке и твиттере вылазят мнемонические символы, которые у меня никак не получается раскодировать.
Вот строка та заветная:
var title=encodeURIComponent("<?php echo html_entity_decode(the_title(),UTF-;?>");
В самих кавычках выводится символ в виде сущности, но почему-то контакт её адекватно воспринимает, а все остальные нет.
Помогите решить проблему!) |
|
|
|
|
|
Правильно вкладываем свободные средства в ПАММ
Правильный хостинг: DigitalOcean
|
deBrain V.I.P. |
Зарегистрирован: 03.06.2010
Сообщений: 1569
|
Обратиться по нику
|
deBrain |
Ответить с цитатой | | |
|
В общем надо заменить &#номер; на символ.
К примеру … заменить на ...
Можно как-нибудь это сделать на PHP либо JS? |
|
|
|
|
|
Правильно вкладываем свободные средства в ПАММ
Правильный хостинг: DigitalOcean
|
adamant V.I.P. |
Зарегистрирован: 20.03.2008
Сообщений: 11494
|
Обратиться по нику
|
adamant |
Ответить с цитатой | | |
|
а перекодировать в утф=8 нельзя. насколько знаю так в пхп это пару строчек |
|
|
|
|
|
EvaPharmacy. Чтобы мазать хлеб икоркой, Ева – лучшая партнёрка! Инвайты Jabber: evasupport@jabber.org и ICQ: 750000
Unlimited on 1Gbs port | |
deBrain V.I.P. |
Зарегистрирован: 03.06.2010
Сообщений: 1569
|
Обратиться по нику
|
deBrain |
Ответить с цитатой | | |
|
Не работает...
написал
var title=encodeURIComponent("<?php echo iconv("cp1251", "utf-8", the_title());?>");
пробовал разные кдировки, не только cp1251
Сомневаюсь, что дело именно в кодировке. Надо именно как-то заменять мнемонические коды на символы, только вот как хз=\
Пробовал уже много функций, но без необязательных параметров. Может кто-нибудь знает какие-нибудь параметры которые надо передать со стандартными функциями преобразования кодов html-сущностей? |
|
|
|
|
|
Правильно вкладываем свободные средства в ПАММ
Правильный хостинг: DigitalOcean
|
deBrain V.I.P. |
Зарегистрирован: 03.06.2010
Сообщений: 1569
|
Обратиться по нику
|
deBrain |
Ответить с цитатой | | |
|
Да ёмаё, неужели никто не сталкивался с этой проблемой? Я уже всё перепробовал... Все функции связанные кодированием/декодированием мнемонических символов, перекодирование этого крохотного кусочка текста во все известные мне кодировки...
Как решить проблему? Чтобы в коде страницы вместо "& #8211;" было "-" и с остальными номерами так же. |
|
|
|
|
|
Правильно вкладываем свободные средства в ПАММ
Правильный хостинг: DigitalOcean
|
adamant V.I.P. |
Зарегистрирован: 20.03.2008
Сообщений: 11494
|
Обратиться по нику
|
adamant |
Ответить с цитатой | | |
|
может на гофаке спроси, там чаще програмисты бывают нежели сдесь |
|
|
|
|
|
EvaPharmacy. Чтобы мазать хлеб икоркой, Ева – лучшая партнёрка! Инвайты Jabber: evasupport@jabber.org и ICQ: 750000
Unlimited on 1Gbs port | |
Codd Опытный |
Зарегистрирован: 13.01.2011
Сообщений: 186
|
Обратиться по нику
|
Codd |
Ответить с цитатой | | |
|
Цитата: |
В общем надо заменить &#номер; на символ.
|
С этим отлично справляется функция html_entity_decode, которую вы привели в первом посте.
Только я не понял, почему у вас кодировка не в кавычках, да ещё и на втором месте стоит.
Код: |
<?php echo html_entity_decode(the_title(), UTF-8);?>
|
http://php.net/manual/en/function.htmlentities.php
Цитата: |
html_entity_decode(строка, способ обработки кавычек, кодировка);
|
|
|
|
|
|
|
|
deBrain V.I.P. |
Зарегистрирован: 03.06.2010
Сообщений: 1569
|
Обратиться по нику
|
deBrain |
Ответить с цитатой | | |
|
Codd, Всё равно почему-то в коде страницы код символа, а не сам символ.
Я написал:
<?php echo htmlentities(the_title(),ENT_COMPAT,'cp866');?>
В качестве кодировки ставил: ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252, KOI8-R.
Почему не пашет не понимаю.
|
|
|
|
|
|
Правильно вкладываем свободные средства в ПАММ
Правильный хостинг: DigitalOcean
|
Codd Опытный |
Зарегистрирован: 13.01.2011
Сообщений: 186
|
Обратиться по нику
|
Codd |
Ответить с цитатой | | |
|
Код: |
<?php echo iconv('windows-1251', 'utf-8', html_entity_decode( iconv('utf-8','windows-1251',get_the_title()), ENT_QUOTES, 'windows-1251'));?>
|
протестировал, работает |
|
|
|
|
|
|
deBrain V.I.P. |
Зарегистрирован: 03.06.2010
Сообщений: 1569
|
Обратиться по нику
|
deBrain |
Ответить с цитатой | | |
|
Codd, спасибо за старания, но почему-то ситуация не изменилась... Главное при постинге ВКонтакте всё как надо, даже без перекодирования. А когда постишь в твиттер или фейсбук, то всё криво=(
Я вообще не понимаю зачем вордпресс мне три точки превращает в один символ в виде троеточия и тире превращает в дефис... и всё это говно записывает в БД именно в таком виде. Какой критин придумал так делать интересно... |
|
|
|
|
|
Правильно вкладываем свободные средства в ПАММ
Правильный хостинг: DigitalOcean
|
|