Jump to content

AlexHog

User
  • Posts

    20
  • Joined

  • Last visited

Everything posted by AlexHog

  1. AlexHog

    XML-парсер

    Спасибо.
  2. AlexHog

    XML-парсер

    Добрый день. Существуют ли в php функции парсинга XML? Есть XML-файл данных, из него нужно построить модуль-навигатор по сайту - простой набор ссылок на подразделы. Во флэше я это сделал (example.rar 2кб), а как сделать на php? Только через функцию чтения файла и построчного его разбора?..
  3. Добрый день. Скачал книжку в таком интересном формате, и мой Tom Reader с ним не справляется. Посоветовали WinDjView - он только под XP. А мне под 98 надо... Подскажите
  4. Мда... спасибо)) скачал все, что были доступны; с fnt, к сожалению, не умеет работать ни одна... вообще, интересно: fnt и fon называют виндосовскими файлами шрифта, - а Винда их из папки Fonts решительно не читает
  5. Добрый день. Делаю флешку по игре, в ней очень желателен оригинальный шрифт игры. Он есть, но формата .fnt, тогда как флеш позволяет встраивать только TrueType шрифты. Подскажите, можно ли сконвертировать .fnt => .ttf, и каким софтом (желательно легкодоступным, задача разовая, тратиться на диск неохота).
  6. Боюсь, про это я вообще ничего не слышал В xml? в этом случае у меня вообще все ноды пустые, даже числовые/англоязычные. Почему-то XML требует непременно UTF-8...
  7. О-о-о... /офигевает/ так тоже можно?... PS. поставил последнюю Оперу, попробовал, все равно не получилось =( ответ Оперы списал в файл, поменял в нем кодировку. Судя по ответу - данные, передаваемые серверу, либо теряются, либо неправильно читаются. Передается русский текст из трех полей ввода: IE работает как надо, Опера же читает и возвращает символы в UTF-8, и никак переубедить ее пока не удалось
  8. Я же через XML передаю. header('Content-Type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
  9. Так? указываю. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Название</title></head> "Вид => Настройки => Кириллица(Windows)"? Да.
  10. Добрый день. Проблема следующая: пхп-скрипт генерирует XML, в один из узлов кладет русский текст, перекодив предварительно из Win-1251 в UTF-8, и отдает яваскрипту. Js принимает и парсит полученный XML и вполне себе корректно с ним работает. То есть я в IE6 вижу вс? нормально. Но люди под Оперой жалуются, что видят utf-овские кракозябры... Отчего это может быть и как это исправить?
  11. У меня денвер, версия 4.4.4. и надстройка 5.0.4. В четверке iconv не работает; включил в php.ini - бестолку. В пятерке - работал изначально. Если ты видишь этот текст, с заполненным и закрытым - значит, скрипт работает правильно, xml валидный... вероятно, неправильно обрабатывается уже в яваскрипте. Мой рабочий пример - http://slil.ru/24440972
  12. Так... у меня сработал такой скрипт (но я работаю с мускулом): <?php include "config.php"; header('Content-Type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; echo '<response>'; $name = 30; $query = mysql_query("SELECT po_ind, city FROM postoff WHERE po_ind LIKE '$name'"); while ($row = mysql_fetch_object($query)) { $text = "Это индекс города, " . $row->city . "!"; echo iconv("windows-1251", "utf-8", $text); } echo '</response>'; include "out.php"; ?> То есть, во первых, не забыть про iconv, во-вторых при выборке из базы указывать и тот параметр, по которому она производится =) Без него выборка будет нулевой. И тестируйте сначала "голый" пхп; если он отдаст правильный xml - только тогда переходите к аяксу... PS: да, в денвере с пхп-4.4.4 iconv почему-то не работает. Хотя по мануалу - должен с 4.0.5. Php_iconv.dll включен.
  13. Ну... с первого взгляда - вы дважды задаете header и response =) До обращения к базе и после. дома посмотрю подробней...
  14. _dreamer спасибо )) интересный способ, никогда не пользовался побайтным редактированием) попробую. Интересных проектов, увы, пока нет... тренируюсь только... В общем, проблема решена - Wordpad сохраняет в UTF-16, т.е. на каждый символ по два байта. теперь я прогоняю отдаваемый скриптом текст через перекодировку - $bufer2 = iconv ('cp1251', 'utf-8', $bufer); - и все работает.
  15. спасибо )) В общем, похоже моя проблема в самом xml. Разобрал еще несколько примеров из книги - там, где его нет, все работает отлично. Буду читать. Спасибо, работает и по вашей ссылке, и на локалке =) Посмотрел на quickstart.php - у вас перекодированы только русские символы, вс? остальное без изменений. Когда я сохраняю свой php через Вордпад "как документ Unicode" - у меня получается такая вот лабуда: Естественно, такой пхп отказывается работать... то есть вообще не воспринимается системой и не обрабатывается как пхп. Чем можно корректно сохранять в UTF-8? Угум... не подскажете бесплатный хостинг с php и mysql? я пока нашел только 100mb.com, но он англоязычный.
  16. Sectronix 404 not found =( Yarik Voronov Можно об этом подробнее? я правильно понял, что создание xml через echo - некорректный способ?
  17. Здравствуйте. Видимо, проблема в моем браузере - в том, как он воспринимает приходящие xml-ы. Сделал след.код: <?php header('Content-Type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; echo '<response>'; $name = "Имя"; echo 'Здравствуйте, ' . $name . '!'; echo '</response>'; ?> Адрес скрипта (сохранен в кодировке win1251) - http://manuke.h18.ru/xml_test1.php Что вижу - Вариант скрипта - без первой строчки, хедера: http://manuke.h18.ru/xml_test1a.php Вижу - То есть тег response заполнен и закрыт, но заполнен абракадаброй. Первый вариант в кодировке Unocode: http://manuke.h18.ru/xml_test2.php Что вижу - Второй вариант в кодировке Unicode: http://manuke.h18.ru/xml_test2a.php Вижу то же самое. Результаты одинаковые и в Денвере, и на хостинге Агавы. Win98, IE6.0 SP1 Как это исправить? update: попробовал зайти по опубликованным ссылкам. Интересное наблюдение: с первого захода все отображается как надо, если перезагрузить страницу через F5 - опять та же бодяга...
  18. Поменял в файле пхп в строчке - echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; - на windows-1251. При проверке пхп получаю то, что нужно: <?xml version="1.0" encoding="windows-1251" standalone="yes" ?> <response>Здравствуйте, alex!</response> При проверке хтмл - все работает совершенно правильно. Разумеется до тех пор, пока не ввожу русский шрифт И пока оба документа сохранены в виндовс-кодировке. При сохранении документов как Unicode - пхп выдает пустой экран, js глохнет на обработке xml, получаемого от пхп-скрипта. Независимо от того, какая кодировка задана xml-у в скрипте.
  19. спасибо. Если сохранять через WordPad - это "документ Unicode"? сохранил пхп как Unicode, исправил ошибку в js-скрипте в функции handleServerResponse. Теперь выдает ошибку в строке 69 - на этой строчке: helloMessage = xmlDocumentElement.firstChild.data; Проверяю работу пхп-скрипта - на домашней машине не выдает вообще ничего, пустую страницу; на хостинге Агавы - страничку полную квадратиков с редкими вкраплениями вариантов ответов скрипта Пытаюсь переключить кодировку в браузере на UTF-8 - бестолку.
  20. текст скриптов. хтмл: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns='http://www.w3.org/1999/xhtml'> <head> <title>AJAX & PHP</title> <script type='text/javascript' src='quickstart.js'></script> </head> <body onload='process()'> Сервер желает узнать ваше имя: <input type='text' id='myName' /> <div id='divMessage' /> </body> </html> js: var xmlHttp = createXmlHttpRequestObject(); function createXmlHttpRequestObject() { // alert (document.getElementById('myName').value); var xmlHttp; if(window.ActiveXObject) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { xmlHttp = false; } } else { try { xmlHttp = new XMLHttpRequest(); } catch(e) { xmlHttp = false; } } if(!xmlHttp) alert("Ошибка создания объекта"); else { // alert(xmlHttp.readyState); return xmlHttp; } } function process() { if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) { name = encodeURIComponent(document.getElementById('myName').value); xmlHttp.open('GET', 'quickstart.php?name=' + name, true); xmlHttp.onreadystatechange = handleServerResponse; xmlHttp.send(null); } else setTimeout('process()', 1000); } function handleServerResponse() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { xmlResponse = xmlHttp.responseXML; xmlDocumentElement = xmlResponse.documentElement; helloMessage = xmlDocumentElement.firstChild.data; document.getElementById('divMessage').innerHTML = '<i>' + helloMessage + '<i>'; setTimeout('process()', 1000); } else { alert('При обращении к серверу возникли проблемы: ' + xmlHttp.statusText); } } } php: <?php header('Content-Type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; echo '<response>'; $name = $_GET['name']; $userNames = array('ALEX', 'MARSYLIJ'); if (in_array(strtoupper($name), $userNames)) echo 'Здравствуйте, ' . htmlentities($name) . '!'; else if (trim($name) == '') echo 'Скажи мне, как зовут тебя, незнакомец!'; else echo htmlentities($name) . ' , вы мне не знакомы!'; echo '</response>'; ?>
  21. Добрый день. Начинаю изучать ajax, пытаюсь выполнить учебный пример. В примере нужно создать три файла - html, js и php. Суть примера - пользователь вводит в поле ввода имя, яваскрипт отсылает введенный текст серверному скрипту, скрипт проверяет совпадение имени с одним из эл-тов массива. При совпадении отдает через xml один ответ, при несовпадении другой. Страница принимает ответ, обрабатывает xml и отображает текст в div-е. Текст скриптов ниже, пока суть проблемы: похоже, что либо не срабатывает функция, вызываемая через timeout - setTimeout('process()', 1000); - либо что-то не так с xml. Вставляю в процедуру обработки ответа сервера алерт, алерт молчит. Проверяю работу пхп-скрипта - получаю немножко не тот ответ, который дан в книге: вместо <response>Здравствуйте, аlex!</response> - получаю вот такое: В чем может быть дело, как это решать?
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy