Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нахождение тега с содержимым в файле

 PHP.SU

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


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

> Без описания
Evgen8
Отправлено: 25 Декабря, 2012 - 19:34:59
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Вот исходник:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $news_name = $_POST['news_name'];
  4. $news_text = $_POST['news_text'];
  5. $news_name_for_del = $_POST['news_name_for_del'];
  6. if($news_name || $news_text != NULL){
  7. $past = file_get_contents('**********');
  8. $fp = fopen('****************', 'w+');
  9. $dt=date('Y-m-d H:i');
  10. $write_to = "[title]{$news_name}[/title]
  11. [text]
  12. {$news_text}
  13. [/text]
  14. <br><font color=\"yellow\"> - Добавлено {$dt} , Evgen8.</font>
  15. <hr>
  16. {$past}";
  17. $test = fwrite($fp, $write_to);
  18. fclose($fp);} //Отсюда начинается нужная часть....
  19. elseif($news_name_for_del != NULL){
  20. $past = file_get_contents('*******************');
  21. $reg = "!\[title\]{$news_name_for_del}\[\/title\]!is";
  22. $found = preg_match_all($reg, $past ,$result);
  23. echo "{$found}<br>";
  24. echo "{$news_name_for_del}<br>";
  25. echo "{$reg}<br><br>";
  26. echo "{$past}";
  27. }
  28. else {
  29. }
  30. ?>
  31.  

Пока нужно найти строчку [title]$text[/title] . В принципе , он ее находит. Но вот если содержимое переменной $text - русское , то он ее не находит. Суть вопроса: почему?
http://mc-diamond[dot]ru/launch_serv[dot][dot][dot]dd_to_launch.php
Поле "name news fo del". Думаю говорить вам ,что внизу отображается нет смысла Подмигивание

(Отредактировано автором: 25 Декабря, 2012 - 19:42:13)

 
 Top
Evgen8
Отправлено: 26 Декабря, 2012 - 16:03:04
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Ну хоть намекните.... Хм
 
 Top
DlTA
Отправлено: 26 Декабря, 2012 - 16:07:43
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




намекаю, проверьте что у вас в переменных
$news_name_for_del

и почему у вас регулярка отделяется "!", кстати а фильтр стоит на них?
 
 Top
Мелкий Супермодератор
Отправлено: 26 Декабря, 2012 - 16:08:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Намекаю: phpfaq.ru/debug


-----
PostgreSQL DBA
 
 Top
Evgen8
Отправлено: 26 Декабря, 2012 - 16:10:38
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




DlTA пишет:
намекаю, проверьте что у вас в переменных
$news_name_for_del

и почему у вас регулярка отделяется "!", кстати а фильтр стоит на них?

Если бы вы перешли по ссылке , то увидели ,что все переменные отображаются рядом с результатом. "!" - где-то вычитал на просторах инета ,что нужны некие разделители. Кстати , без него выдается ошибка выполнения скрипта. Фильтр? Без понятие - что это? зачем это? как это сделать?
(Добавление)
Мелкий пишет:
Намекаю: phpfaq.ru/debug

Ок. Нашел один баг , исправил. Но все-такие отлично не пашит.
Например если ввести поиск "тест тест" -найдет ,а просто "тест" - нет. Это "Конец тех.работ" - тоже найдет. Почему так? Это еще не понятно. Однако

-------------------------------- -------------
Понял! Иногда вместо "букв" записывается вот это....
Что это? В браузере отображает просто слово "тест".
CODE (htmlphp):
скопировать код в буфер обмена
  1. &#1090;&#1077;&#1089;&#1090;

,а в самом файле вот такой вот бред. И главное , некоторые обычными словами ,некоторые вот так. Те ,которые обычными находятся ,а такие - нет.

(Отредактировано автором: 26 Декабря, 2012 - 16:29:16)

 
 Top
Evgen8
Отправлено: 26 Декабря, 2012 - 22:55:37
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Ну как-бы опять намекните.... Однако
 
 Top
Panoptik
Отправлено: 26 Декабря, 2012 - 23:07:16
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




юникодовый модификатор не помешал бы "u"
PHP:
скопировать код в буфер обмена
  1. $reg = "!\[title\]{$news_name_for_del}\[\/title\]!isu";


-----
Just do it
 
 Top
LIME
Отправлено: 26 Декабря, 2012 - 23:47:36
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
Evgen8
Отправлено: 27 Декабря, 2012 - 19:50:10
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Проблема решилась. Появилась другая. Скрипт иногда не находит строку с первого раза. С чем это может быть связано?
 
 Top
Evgen8
Отправлено: 28 Декабря, 2012 - 22:48:59
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2012  
Откуда: Харьков, Украина


Помог: 0 раз(а)




Намекните как-бы опять....
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB