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]   

> Без описания
Scorpio2011
Отправлено: 21 Августа, 2011 - 14:51:21
Post Id


Новичок


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


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




как извлеч из массива строк
CODE (htmlphp):
скопировать код в буфер обмена
  1. $massiv= array(
  2. [center][img]http://test1.ru/uploads/skrin1.jpg[/img][/center],
  3. [center][img]http://test1.ru/uploads/skrin2.jpg[/img][/center],
  4. [center][img]http://test1.ru/uploads/skrin3.jpg[/img][/center],
  5. [center][img]http://test1.ru/uploads/skrin4.jpg[/img][/center],
  6. [center][img]http://test1.ru/uploads/skrin5.jpg[/img][/center],
  7. [center][img]http://test1.ru/uploads/skrin6.jpg[/img][/center]
  8. );


url изображений помощью функции preg_match и pathinfo. Чет ни как не могу вытащить из массива. А то я с регулярными выражениями ни как не дружу Однако

Вот мои Вариант:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. for ($c=0; $c <= count($massiv); $c++){
  3.       preg_match("'\[img\](.+?)\[/img\]'si", $massiv['$c'], $img);
  4.         $thumba_parts = pathinfo($img[1]);      
  5.        $pic = $thumba_parts['dirname'].'/'.$thumba_parts['basename'];
  6.      $imgscroll['$c'] = $pic;
  7.  }
  8.  


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

(Отредактировано автором: 21 Августа, 2011 - 14:52:40)

 
 Top
White
Отправлено: 21 Августа, 2011 - 14:59:20
Post Id



Частый посетитель


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


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




Scorpio2011 вы шутите?
PHP:
скопировать код в буфер обмена
  1. foreach($massiv as $string) $pic[]=substr($string, 13, strlen($string)-15);


-----
if(time()>1356048000) die();
 
 Top
Scorpio2011
Отправлено: 21 Августа, 2011 - 15:03:28
Post Id


Новичок


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


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




Заработало )) только чет как то криво, думаю дальше сам доделаю )) спс
(Добавление)
нет это не Вариант, потому как в массиве может быить и другой текст. Нужно именно через preg_match вытащить УРЛ.

Данный способ что дали Вы не очень удобный, да и к тому же не корректо работает.
 
 Top
illy
Отправлено: 21 Августа, 2011 - 15:20:38
Post Id



Участник


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $massiv= array('[center][img]http://test1.ru/uploads/skrin1.jpg[/img][/center]',
  3. '[center][img]http://test1.ru/uploads/skrin2.jpg[/img][/center]',
  4. '[center][img]http://test1.ru/uploads/skrin3.jpg[/img][/center]',
  5. '[center][img]http://test1.ru/uploads/skrin4.jpg[/img][/center]',
  6. '[center][img]http://test1.ru/uploads/skrin5.jpg[/img][/center]',
  7. '[center][img]http://test1.ru/uploads/skrin6.jpg[/img][/center]'
  8. );
  9. $m=implode($massiv);
  10. preg_match_all('#((https?|ftp)://.*)( |$|\[)#mUsi',$m,$imgscroll);
  11. foreach($imgscroll[1] as $m){
  12. echo $m.'<br>';
  13. }
  14. ?>


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
White
Отправлено: 21 Августа, 2011 - 15:24:31
Post Id



Частый посетитель


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


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




Scorpio2011 строковые функции работают быстрее чем регулярка. если у вас и другой текст приводите его в примере.


-----
if(time()>1356048000) die();
 
 Top
Scorpio2011
Отправлено: 21 Августа, 2011 - 15:26:04
Post Id


Новичок


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


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




Илья спасибо Улыбка большое это то что нужно было ))
 
 Top
illy
Отправлено: 21 Августа, 2011 - 15:31:14
Post Id



Участник


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


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




White пишет:
Scorpio2011 строковые функции работают быстрее чем регулярка. если у вас и другой текст приводите его в примере.

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

Ха-ха я не Илья, а Илли. Сокращение от illuminatys Хорошо

P.S.: Рад был помочь Улыбка


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Scorpio2011
Отправлено: 21 Августа, 2011 - 15:35:09
Post Id


Новичок


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


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




Ха-ха илуминатус )) Спс ... Ты прав текст может быть разным, регулярка как раз то что для моей ситуации нужно было ))
 
 Top
illy
Отправлено: 21 Августа, 2011 - 15:37:42
Post Id



Участник


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


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




Scorpio2011 пишет:
илуминатус )) Спс

Ха-ха илюминатис

(Отредактировано автором: 21 Августа, 2011 - 15:38:02)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
КЫР
Отправлено: 21 Августа, 2011 - 15:47:15
Post Id



Частый гость


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


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




illy
вот смотрю я на тебя, илюминатис, и думаю, что какой-то ты ненормальный
не, ну правда, нормальные люди не умеют так виртуозно с регулярками обращаться)))


-----
Fuck you guys, I'll going home
 
 Top
illy
Отправлено: 21 Августа, 2011 - 16:52:03
Post Id



Участник


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


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




КЫР пишет:
ненормальный

в хорошем смысле? Не понял


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
КЫР
Отправлено: 21 Августа, 2011 - 17:13:53
Post Id



Частый гость


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


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




illy
само собой)


-----
Fuck you guys, I'll going home
 
 Top
illy
Отправлено: 21 Августа, 2011 - 17:46:39
Post Id



Участник


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


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




[quote=КЫР][/quote]
Эт хорошо Улыбка
А виртуозно обращаюсь, потому что сам не раз использовал такие регулярки в своём скрипте ветвистых комментариев, да и аналитический склад ума помогает Ха-ха
Ого! У меня один + исчез Закатив глазки

(Отредактировано автором: 21 Августа, 2011 - 17:47:28)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 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