PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (3): « 1 2 [3]

> Найдено сообщений: 39
BlackHacker Отправлено: 27 Августа, 2012 - 17:26:27 • Тема: Поможете с регуляркой? • Форум: Регулярные выражения

Ответов: 2
Просмотров: 243
Всем привет. Имеется очень длинная строка, в которой нужно сделать поиск в определенном участке, между определенными символами, и удалить лишние кавычки. Вот пример кода:
CODE (htmlphp):
скопировать код в буфер обмена
  1. {"v":8577,"n":"любая_стро"ка_с_кав"ычками"}


Дело в том, что при наличии лишних кавычек целостность формата JSON нарушается, и данные не конвертируются в массив. Так же буду очень признателен, если кто-нибудь поделится кодом PHP для валидации и исправления запроса JSON. Заранее спасибо тем, кто поможет.
BlackHacker Отправлено: 13 Октября, 2010 - 14:24:23 • Тема: dom_xml • Форум: Регулярные выражения

Ответов: 2
Просмотров: 355
Не дождавшись ответа, решил проблему сам..

Если кому интересно, в PHP 5 баг с заменой контента в тегах, и он просто добавляется.. Нашел функцию, с помощью которой это решается..

PHP:
скопировать код в буфер обмена
  1. function replace_content( &$node, &$new_content )
  2. {
  3.     $dom =& $node->owner_document();
  4.    
  5.     $newnode =& $dom->create_element( $node->tagname );
  6.  
  7.     $newnode->set_content( $new_content );
  8.    
  9.     $atts =& $node->attributes();
  10.     $node->replace_node( $newnode );
  11. };


P.S. Тему можно закрыть
BlackHacker Отправлено: 12 Октября, 2010 - 17:50:06 • Тема: dom_xml • Форум: Регулярные выражения

Ответов: 2
Просмотров: 355
Если делаю не правильно, тыкните носом..

PHP:
скопировать код в буфер обмена
  1. function editcontent($file, $array){
  2.   $xmlstr = join('', file($file));
  3.   if(!$dom = domxml_open_mem($xmlstr))
  4.     exit;
  5.   $root = $dom->document_element();
  6.   $content = $root->child_nodes();
  7.   foreach($content as $news)
  8.   {
  9.     if ($news->tagname == 'news')
  10.     {
  11.       $currentnews = $news->get_attribute('id');
  12.   if ($currentnews == $array["id"] ){
  13.       $news_info = $news->child_nodes();
  14.   foreach ($news_info as $child)
  15.   {
  16.         if ($child->tagname == "link") $child->set_content($array["link"]);
  17.         if ($child->tagname == "rating") $child->set_content($array["rating"]);
  18.         if ($child->tagname == "title") $child->set_content($array["title"]);
  19. }
  20. }
  21. }
  22. }
  23.   $xmlfile = $dom->dump_mem(true);
  24.   $h = fopen($file,"w");
  25.   if (!fwrite($h, $xmlfile))
  26.   {
  27. return('error');
  28.     exit;
  29.   }
  30. };



текст в тегах $child не заменяется, а добавляется.. функцию писал сам, так что возможны ошибки..
BlackHacker Отправлено: 28 Мая, 2010 - 06:08:56 • Тема: работа с xml • Форум: Регулярные выражения

Ответов: 3
Просмотров: 295
спасибо, что помог..
BlackHacker Отправлено: 26 Мая, 2010 - 21:47:28 • Тема: работа с xml • Форум: Регулярные выражения

Ответов: 3
Просмотров: 295
помогите пожалуйста с чтением, изменением, и сохранением xml.. покажите для примера чтение данных из тега и добавление информации в тег(если не трудно, то на api, а то дополнительные модули отключены на хостингах).. а дальше я сам смогу.. я в пхп новичек, поэтому в поисковике не нашел рабочих примеров
BlackHacker Отправлено: 19 Мая, 2010 - 12:19:49 • Тема: требуется небольшая помощь со скриптом.. • Форум: Программирование на PHP

Ответов: 7
Просмотров: 600
спасибо, что помог..=)
BlackHacker Отправлено: 19 Мая, 2010 - 08:03:10 • Тема: требуется небольшая помощь со скриптом.. • Форум: Программирование на PHP

Ответов: 7
Просмотров: 600
не подскажешь, как еще можно передать параметры?
BlackHacker Отправлено: 19 Мая, 2010 - 06:10:22 • Тема: требуется небольшая помощь со скриптом.. • Форум: Программирование на PHP

Ответов: 7
Просмотров: 600
koldya пишет:
#
elseif ($id !== ''){
include ("tools/content.php?cat=".$id);}


нет, тут не происходит проверка на существование файла.. даже если такого файла нет, страница будет его загружать.. а у меня стояла проверка, которая выводила ошибку, если файла нет.. и оно все равно не работает


все-таки решил проверить, и нашел ошибку.. параметры не передаются отсюда
include ("tools/content.php?cat=".$id);
похоже, что этот код вообще не выполняется.. может, есть другой способ вызвать пхп-скрипт, и передать ему параметры?



залил на пхп-хостинг в инете, там стало писать ошибку:
CODE (html):
скопировать код в буфер обмена
  1. Warning: main(tools/content.php?cat=hack): failed to open stream: No such file or directory in /home/b/blackhacker.h1.ru/WWW/skin/index.php on line 377
  2.  
  3. Warning: main(): Failed opening 'tools/content.php?cat=hack' for inclusion (include_path='.:') in /home/b/blackhacker.h1.ru/WWW/skin/index.php on line 377
  4.  
BlackHacker Отправлено: 18 Мая, 2010 - 18:29:57 • Тема: требуется небольшая помощь со скриптом.. • Форум: Программирование на PHP

Ответов: 7
Просмотров: 600
я новичок в пхп, поэтому прошу ногами не пинать) не знаю, в чем причина, но скрипт не работает как надо.. файл content.php не вызывается из кода основной страницы


отрывок из кода главной страницы:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $id = $_GET['id'];
  3. if ($id == '')
  4. include ("blocks/about.php");
  5. elseif (file_exists("content/".$id))
  6. include ("tools/content.php?cat=".$id); // именно этот скрипт должен вызываться с переданным параметром..
  7. else
  8. include("blocks/error.php");
  9. ?>


код файла content.php:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $cat = $_GET['cat'];
  3. $dir = ('content/'.$cat);
  4. $dh  = opendir($dir);
  5. while (false !== ($fname = readdir($dh))) {
  6. $filename = ('content/'.$cat.'/'.$fname.'/xml.xml');
  7. if (file_exists($filename)) {
  8. include ('blocks/frame.php?xml='.$filename.'&link='.$fname); //здесь снова передаем параметры
  9. }
  10. }
  11. ?>


frame.php:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <link type="text/css" rel="StyleSheet" href="/skin/css/layer1.css" /><script type="text/javascript" src="/skin/js/u.js"></script>
  2. <?php
  3. $xml=$_GET['xml'];
  4. $link=$_GET['link'];
  5. ?>
  6. <a href="javascript://" onclick="new _uWnd('wnd',' ',0,0,{autosize:1,shadow:0,hideonresize:0, closeonesc:1,resize:0, modalform:1},{url:'<?php $xml ?>'});return false;"><?php $link ?></a>


P.S. весь код написан мной, поэтому могут быть ошибки.. укажите на них, если они есть..

Страниц (3): « 1 2 [3]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB