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]   

> Без описания
Ринат
Отправлено: 26 Апреля, 2009 - 12:28:08
Post Id



Новичок


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


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




Приветсвтую Вас!
Подскажите возможно ли сделать так:

CODE (text):
скопировать код в буфер обмена
  1. [IMG]http://test.ru/mages/logotype.png[/IMG]
  2. Похоже на то, что шведско-японское совместное предприятие получило еще один шанс на жизнь


и чтоб осталось толька ссылка:

CODE (text):
скопировать код в буфер обмена
  1. http://test.ru/mages/logotype.png


не могу додуматься
 
 Top
Champion Супермодератор
Отправлено: 26 Апреля, 2009 - 13:46:35
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




чего?
 
 Top
vitaliy_mad
Отправлено: 26 Апреля, 2009 - 13:59:53
Post Id


Участник


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $pat=array('#[IMG]#','#[/IMG]#');
  3. $str=preg_replace($pat,"",$str);
  4. ?>

наверно это

(Отредактировано автором: 26 Апреля, 2009 - 14:00:08)

 
 Top
Ринат
Отправлено: 26 Апреля, 2009 - 16:26:22
Post Id



Новичок


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


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




Нужно от текста оставить толька ссылку.

т.е. вырезать всеи до [IMG] и после [/IMG]

PHP:
скопировать код в буфер обмена
  1.  
  2. $page="[IMG]http://test.ru/mages/logotype.png[/IMG]
  3. Похоже на то, что шведско-японское совместное предприятие получило еще один шанс на жизнь";
  4.  
  5.  
  6.  
  7. $page= preg_replace("#\[IMG\]([^?](?:[^\[]+|\[(?!url))*?)\[/IMG\]#i","\\1", $page);



можно ли получить \\1 в переменную?
 
 Top
Champion Супермодератор
Отправлено: 26 Апреля, 2009 - 16:33:52
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




preg_match('/\[IMG\]([^[]+)\[\/IMG\]/m', $page, $matches);
var_dump($matches);
 
 Top
Ринат
Отправлено: 26 Апреля, 2009 - 17:02:45
Post Id



Новичок


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


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




Champion

ошибка


Цитата:

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in W:\home\pop.ru\www\5.php on line 7
NULL


поддставлю ""

Цитата:

preg_match("'\[IMG\]([^[])\[\/IMG\]'", $page, $matches);
var_dump($matches);


получаю

Цитата:

array(0) { }


что то не так
 
 Top
Champion Супермодератор
Отправлено: 26 Апреля, 2009 - 17:30:28
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Точно. Исправил.
 
 Top
Ринат
Отправлено: 26 Апреля, 2009 - 17:33:28
Post Id



Новичок


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


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




Дык а как получить с нее ссылку?
 
 Top
Champion Супермодератор
Отправлено: 26 Апреля, 2009 - 17:53:24
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Ты же видишь
array(2) { [0]=> string(44) "[IMG ]http://test.ru/mages/logotype.png[/IMG]" [1]=> string(33) "http://test.ru/mages/logotype.png" }
Ссылка - в первом([1]) элементе массива
 
 Top
Ринат
Отправлено: 26 Апреля, 2009 - 18:27:50
Post Id



Новичок


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


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




А если в тексте будет 2 ссылки как это будет выглядеть?
 
 Top
Champion Супермодератор
Отправлено: 26 Апреля, 2009 - 19:26:37
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




preg_match_all
 
 Top
Ринат
Отправлено: 27 Апреля, 2009 - 11:50:48
Post Id



Новичок


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


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




тут ошибка. массив пуст


PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. preg_match("'\[IMG\]([^[])\[\/IMG\]'", $page, $matches);
  4. var_dump($matches);
  5.  
  6.  





Спасибо! напривил на путь истинный!


PHP:
скопировать код в буфер обмена
  1.  
  2. $page="[IMG]http://test.ru/mages/logotype.png[/IMG]
  3. Похоже на то, что шведско-японское совместное предприятие получило еще один шанс на жизнь [IMG]http://test.ru/mages/logotype2.png[/IMG]";
  4.  
  5. preg_match_all("#\[IMG\]([^?](?:[^\[]+|\[(?!url))*?)\[/IMG\]#i", $page, $matches);
  6.  
  7. foreach($matches[1] as $key => $val) {
  8.  
  9. $match= $matches[1][$key];
  10.  
  11. }
  12.  


вывод

http://test[dot]ru/mages/logotype[dot]png
http://test[dot]ru/mages/logotype2[dot]png
 
 Top
Champion Супермодератор
Отправлено: 27 Апреля, 2009 - 11:56:59
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Ринат пишет:
("'\[IMG\]([^[])\[\/IMG\]'",
Я этого не писал.
 
 Top
Ринат
Отправлено: 27 Апреля, 2009 - 16:57:37
Post Id



Новичок


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


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




прошу прощения!!! вероятно я сам в запарке снес.
 
 Top
Ринат
Отправлено: 27 Апреля, 2009 - 20:27:00
Post Id



Новичок


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


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




продолжаю функцию обработки Улыбка


столкнулся с другой проблемойю как заминить теперь на свои ссылки?

вот скрипт:


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $page="[IMG]http://test.ru/mages/logotype.png[/IMG]  Похоже на то, что шведско-японское совместное предприятие получило еще один шанс на жизнь [IMG]http://test.ru/mages/logotype2.png[/IMG]";
  5.  
  6.  
  7. preg_match_all("#\[IMG\]([^?](?:[^\[]+|\[(?!url))*?)\[/IMG\]#i", $page, $matches);
  8.  
  9. foreach($matches[1] as $key => $val) {
  10.  
  11.  
  12. $match[$key]= $matches[1][$key];
  13.  
  14. $urlimg[$key]="tmp/".basename($match[$key])."";
  15.  
  16. if (!file_exists($urlimg[$key]))@copy($match[$key],"tmp/".basename($match[$key])."");
  17.  
  18.  
  19.  
  20. $page = preg_replace("#\[IMG\]([^?](?:[^\[]+|\[(?!url))*?)\[/IMG\]#i","$urlimg[$key]",$page);
  21.  
  22.  
  23.  
  24. }
  25.  
  26. ?>
  27.  




выходить что меняет тока по первой ссылки

CODE (text):
скопировать код в буфер обмена
  1. tmp/logotype.png Похоже на то, что шведско-японское совместное предприятие получило еще один шанс на жизнь tmp/logotype.png
 
 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