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
Форумы портала PHP.SU :: Версия для печати :: Помогите с массивами
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Помогите с массивами

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

1. Scorpio2011 - 21 Августа, 2011 - 14:51:21 - перейти к сообщению
как извлеч из массива строк
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.  


Вообщем мне по шаблону из текста в массиве нужно извлечь только урл изображени в другой массив, который будет содежать только урл изображений.
2. White - 21 Августа, 2011 - 14:59:20 - перейти к сообщению
Scorpio2011 вы шутите?
PHP:
скопировать код в буфер обмена
  1. foreach($massiv as $string) $pic[]=substr($string, 13, strlen($string)-15);
3. Scorpio2011 - 21 Августа, 2011 - 15:03:28 - перейти к сообщению
Заработало )) только чет как то криво, думаю дальше сам доделаю )) спс
(Добавление)
нет это не Вариант, потому как в массиве может быить и другой текст. Нужно именно через preg_match вытащить УРЛ.

Данный способ что дали Вы не очень удобный, да и к тому же не корректо работает.
4. illy - 21 Августа, 2011 - 15:20:38 - перейти к сообщению
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. ?>
5. White - 21 Августа, 2011 - 15:24:31 - перейти к сообщению
Scorpio2011 строковые функции работают быстрее чем регулярка. если у вас и другой текст приводите его в примере.
6. Scorpio2011 - 21 Августа, 2011 - 15:26:04 - перейти к сообщению
Илья спасибо Улыбка большое это то что нужно было ))
7. illy - 21 Августа, 2011 - 15:31:14 - перейти к сообщению
White пишет:
Scorpio2011 строковые функции работают быстрее чем регулярка. если у вас и другой текст приводите его в примере.

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

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

P.S.: Рад был помочь Улыбка
8. Scorpio2011 - 21 Августа, 2011 - 15:35:09 - перейти к сообщению
Ха-ха илуминатус )) Спс ... Ты прав текст может быть разным, регулярка как раз то что для моей ситуации нужно было ))
9. illy - 21 Августа, 2011 - 15:37:42 - перейти к сообщению
Scorpio2011 пишет:
илуминатус )) Спс

Ха-ха илюминатис
10. КЫР - 21 Августа, 2011 - 15:47:15 - перейти к сообщению
illy
вот смотрю я на тебя, илюминатис, и думаю, что какой-то ты ненормальный
не, ну правда, нормальные люди не умеют так виртуозно с регулярками обращаться)))
11. illy - 21 Августа, 2011 - 16:52:03 - перейти к сообщению
КЫР пишет:
ненормальный

в хорошем смысле? Не понял
12. КЫР - 21 Августа, 2011 - 17:13:53 - перейти к сообщению
illy
само собой)
13. illy - 21 Августа, 2011 - 17:46:39 - перейти к сообщению
[quote=КЫР][/quote]
Эт хорошо Улыбка
А виртуозно обращаюсь, потому что сам не раз использовал такие регулярки в своём скрипте ветвистых комментариев, да и аналитический склад ума помогает Ха-ха
Ого! У меня один + исчез Закатив глазки

 

Powered by ExBB FM 1.0 RC1