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 :: Помогите написать регулярку [2]

 PHP.SU

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


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

> Без описания
Ch_chov
Отправлено: 25 Октября, 2009 - 07:56:18
Post Id



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


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




Зачем тут регулярки?
parse_url, pathinfo, basename, dirname
 
 Top
isle
Отправлено: 25 Октября, 2009 - 08:41:28
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009  
Откуда: Казахстан, Алматы


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




Ch_chov пишет:
Зачем тут регулярки?
parse_url, pathinfo, basename, dirname


Посмотрел все, но так и не понял, как их применить ??? Не похоже на то, что они нужны... Недовольство, огорчение А регулярка худо-бедно, да работает Улыбка Можете конкретный пример привести, если не сложно? Я сам сейчас едва ли смогу наклепать, пхп только начинаю изучать.
 
 Top
Ch_chov
Отправлено: 25 Октября, 2009 - 09:44:44
Post Id



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


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




PHP:
скопировать код в буфер обмена
  1. // Разбиваем url на компоненты, удаляем www
  2. $urlArr = parse_url(str_replace('://www.', '://', $url));
  3.  
  4. // Разбиваем путь на компоненты
  5. $path = explode('/',$urlArr['path']);
  6.  
  7. $host = $urlArr['host']; // Домен
  8. $blogDir = $path[1]; // Папка блога
 
 Top
isle
Отправлено: 25 Октября, 2009 - 10:15:09
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009  
Откуда: Казахстан, Алматы


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




Здорово! Спасибо огромное По пиву! Работает!

Сам бы неделю сидел разбирал все эти пхп-теги (функции)... жалко на такую мелочь столько времени тратить на незнакомые еще мне коды Улыбка

Итак, привожу полный вариант для тех, кто также хочет сделать вывод топ-комментаторов блога, но не знает, как это сделать красиво.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   $urlArr = parse_url(str_replace('://www.','://',$url)); // Разбиваем url на компоненты, удаляем www
  3.   $path = explode('/',$urlArr['path']); // Разбиваем путь на компоненты
  4.   $host = $urlArr['host']; // Домен
  5.   $blogDir = $path[1]; // Папка блога
  6.   if ($blogDir != '') $url2 = $host.'/'.$path[1];
  7.   else $url2 = $host;
  8. ?>


В нужное место втыкаем Вот так всё прекрасно работает. Улыбка Еще раз спасибо ;)

(Отредактировано автором: 25 Октября, 2009 - 10:19:09)

 
 Top
koras
Отправлено: 26 Октября, 2009 - 23:59:11
Post Id



Частый гость


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


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




Ch_chov
+ где ты раньше был ? Радость
 
 Top
CodeGold
Отправлено: 01 Января, 2010 - 14:53:30
Post Id


Новичок


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


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




помогите мне
мне надо вот так

CODE (text):
скопировать код в буфер обмена
  1. \r\nТЕКСТ_удалить_с_выр.\r\n
  2.  

(Отредактировано автором: 01 Января, 2010 - 14:54:21)

 
 Top
Ch_chov
Отправлено: 01 Января, 2010 - 14:58:17
Post Id



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


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




Приведи полностью код страницы и текст, который нужно удалить.
 
 Top
CodeGold
Отправлено: 01 Января, 2010 - 15:03:45
Post Id


Новичок


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


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




Ch_chov пишет:
Приведи полностью код страницы и текст, который нужно удалить.


CODE (text):
скопировать код в буфер обмена
  1. $temp = str_replace("\r\n1000\r\n", '', $temp);



я вот так делаю, только вместо 1000 всплывают другие значени!
 
 Top
Ch_chov
Отправлено: 01 Января, 2010 - 15:09:11
Post Id



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


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




Я имел ввиду то что у находится в переменной $temp
 
 Top
CodeGold
Отправлено: 01 Января, 2010 - 15:10:47
Post Id


Новичок


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


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




Ch_chov пишет:
Я имел ввиду то что у находится в переменной $temp



CODE (text):
скопировать код в буфер обмена
  1. ulasjul
  2. 1000
  3. ly::ula&#351; keзebas


чтото типо того!
 
 Top
Ch_chov
Отправлено: 01 Января, 2010 - 15:14:31
Post Id



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


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




Всего три строки?
Тогда зачем регулярка? Удаляй вторую строку целиком.
 
 Top
CodeGold
Отправлено: 01 Января, 2010 - 15:24:32
Post Id


Новичок


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


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




Ch_chov пишет:
Всего три строки?
Тогда зачем регулярка? Удаляй вторую строку целиком.



как?

CODE (text):
скопировать код в буфер обмена
  1. ulasjul
  2. 1000
  3. ly::ula&#351; keзebas


это имя


только 1000 мешает т.е. вот так должно

(Отредактировано автором: 01 Января, 2010 - 15:26:34)

 
 Top
Ch_chov
Отправлено: 01 Января, 2010 - 15:25:50
Post Id



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


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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





(Добавление)
или
PHP:
скопировать код в буфер обмена
  1. $arr = explode("\r\n", $temp);
  2. $temp = $arr[0]."\r\n".$arr[2];
 
 Top
CodeGold
Отправлено: 01 Января, 2010 - 17:51:45
Post Id


Новичок


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


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




Ch_chov спасибо большое друг! Повоюем!
 
 Top
apakc
Отправлено: 11 Января, 2010 - 21:18:20
Post Id


Новичок


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


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




помогите написать регулярку, а еще лучше понять как ее нужно написать

дано: строка с букво цифрами например: вышел трам парам версии 1.24 забрать его можно только по адресу 10,115 . 55 . 152
задача: убить из строки все подобия на IP адреса, с учетом что адреса могут быть заданы неявно (вместо разделителя . могут использоваться знаки препинания, пробел, пробелы знаки препинания)

вот что я надумал логически
от двух до трех, (.+) любое количество чего угодно повтор допобедного
PHP:
скопировать код в буфер обмена
  1. $res = ereg_replace ('\d{2-3}.+\d{3}.+\d{2-3}.+\d{2-3}','-',$text);

что я не учел, по примеру с статьи про имейл должно работать Недовольство, огорчение

(Отредактировано автором: 11 Января, 2010 - 21:18:46)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB