| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: X технологии > DOMDocument вместо русских букв ссылки |
| Автор: yalo 26.8.2012, 14:59 | ||||
| Здравствуйте, уважаемые жители форума Винград:) У меня такой вопрос. Почему при использовании объекта DOMDocument русский текст при просмотре html-кода в браузере заменен на ссылки? Поясню. Вот упрощенный для наглядности xml:
а вот код пхп, пользующий этот xml (тоже упрощен):
При запуске пхп-скрипта в браузере все будет выглядеть красиво, а именно получим обычный черный текст "просто русский текст" в белом окне браузера. Но если посмотрим сгенерённый для браузера html-код, то там мы увидим такое вот чудо "<text>просто русский текст</text>" Подскажите, пожалуйста, в чем может быть причина. Все тексты в UTF-8 сохранены. Сначала задавала свой вопрос в другой ветке форума http://forum.vingrad.ru/forum/topic-226949/kw-xsl-%D0%BA%D0%BE%D0%B4%D1%8B-%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2.html - там я в дополнение к существующему похожему вопросу уже присоединилась и описала свой детально, но мне посоветовали сюда обратиться, поскольку до преобразования xslt, как я выяснила, у меня дело в общем-то и не доходило даже.. Заранее спасибо:) |
| Автор: Fortop 26.8.2012, 17:15 | ||
А что в этом чудного? По факту, если вам мешают entities, то делаем так
|
| Автор: yalo 27.8.2012, 15:22 |
| только сейчас обратила внимание, что там у меня почему-то не ссылки на русские буквы, а все же русские буквы.. странно, вроде ссылки вставляла типа & # 1055; & # 1088;& # 1080;& # 1074;& # 1077;& # 1090; & # 1052;& # 1080;& # 1088; (пробелы надо убрать, просто если я их уберу, то движок форума их преобразует в буквы, вот оно че, михалыч, оказывается..), а появился сам текст.. Fortop, а как-то без постоянного применения html_entity_decode можно все же обойтись? Это ж наверное на скорости скажется. Может лучше разобраться почему такое происходит, и саму причину устранить, а не последствие? |
| Автор: yalo 29.8.2012, 12:33 | ||
Fortop,
В смысле? |
| Автор: Fortop 29.8.2012, 19:14 |
Тормознее сделать всегда можно. Но он не быстрый. Поэтому одна функция вас не убьет. |
| Автор: krypt3r 30.8.2012, 06:42 | ||
Сущностей, которые ТС называет ссылками, при таком использовании вроде не должно быть. |
| Автор: yalo 23.9.2012, 10:23 | ||||
вот код:
Запустите его, пожалуйста, у себя, и посмотрите не только отображение в браузере, а сам исходный код через "просмотреть исходный код" или что-то подобное (в зависимости от браузера). У меня в исходнике идут цифры вместо русских букв (ссылки, сущности - не важно уже как их верно назвать в данном случае, мне они просто не нужны здесь). А по поводу
мне не нужно, чтобы исправлялся созданный с помощью php xml только при прогонке через xslt-процессор (да и не исправляется в общем-то им такое, проверяла, но не в этом суть), я хочу чтобы xml созданный выглядел адекватно при просмотре его внутренности, мало ли куда он мне понадобится, может что-то я и не буду скармливать xslt-процессору.. Кстати, может быть у кого-то адекватно отобразится мой код в исходнике? Потестируйте, пожалуйста, на своих веб-серверах, может это настройка денвера какая-то неудачная.. |
| Автор: krypt3r 24.9.2012, 06:21 | ||||
Эмм, речь о saveHTML(), не? XML тут каким боком?
Ни у кого. Подобное поведение везде проявляется - это особенность libxml2 |
| Автор: petas 26.8.2013, 17:05 | ||||||
| Столкнулся с похожей фигней при использовании стороннего модуля по вытягиваю инфы из экселя получил строчку вида
долго искал и понял что 1 нехватает ";" перед & чтобы получилось
далее немного секаса и интернетом и находим функцию
отличие только в том что у автора вместо "cp1251" была какая-то другая кодировка на выходе получаем нормальный windows-1251 текстик с английскими буквами и спецсимволами |