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]   

> Без описания
ams
Отправлено: 17 Марта, 2011 - 22:11:02
Post Id



Посетитель


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


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




В одном массиве есть наприме 5 записей, вот собственно код
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach($aNew as $v)
  3. {
  4.         $arrrr[] = "<img src='../../images/" . $v . "'>";
  5. }
  6.  

В массиве $arrrr храниться 5 путей на картинку.
Теперь хочу заменить пути в строке $str тег img на пути этого массива ($arrrr), но оно только на первый элемент все заменяет Огорчение В чём может быть проблема?
Вот код замены:
PHP:
скопировать код в буфер обмена
  1.  
  2. for ($j=0;$j<$coco;$j++)  //$coco - это количество в массиве $arrrr
  3. {
  4.         $str = preg_replace('/(<img alt=.+ .+>)/i',$arrrr[$j], $str);
  5. }
  6. echo $str;
  7.  
 
 Top
ALEN
Отправлено: 17 Марта, 2011 - 23:07:12
Post Id



Участник


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


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




А сразу массив с помощью foreach перебирать?
 
 Top
OverNik
Отправлено: 17 Марта, 2011 - 23:27:01
Post Id



Частый гость


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


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




Что в массиве и что в итоге должно выйти

(Отредактировано автором: 17 Марта, 2011 - 23:32:04)

 
 Top
ams
Отправлено: 17 Марта, 2011 - 23:44:29
Post Id



Посетитель


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


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




В массиве $aNew[] = "privet1.jpg" $aNew[] = "privet2.jpg" ....
Переписую в массив $arrrr, и добавляю в начало <img src='../../images/
Получается в массиве $arrrr[0] - <img src='../../images/privet1.jpg'>, $arrrr[1] - <img src='../../images/privet2.jpg'> и т.д...
Потом в строке $str пытаюсь заменить все <img alt=" "> на $arrrr[0], $arrrr[1], $arrrr[2]... но вот этот момент не получается Огорчение
Количество <img alt=" "> - этого в строке всегда равно количеству элементов в $arrrr, мб это поможет чемнить Улыбка

(Отредактировано автором: 17 Марта, 2011 - 23:47:13)

 
 Top
ams
Отправлено: 18 Марта, 2011 - 06:28:06
Post Id



Посетитель


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


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




Всем спс кто попытался помоч, сделал так
PHP:
скопировать код в буфер обмена
  1.  
  2. for ($j=0;$j<$coco;$j++)
  3. {
  4.         $str = preg_replace('/(<img alt=.+ .+>)/i',$arrrr[$j], $str,1);
  5. }
  6.  
 
 Top
DeepVarvar Супермодератор
Отправлено: 18 Марта, 2011 - 06:53:19
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. foreach ($arrrr as $v) $str = preg_replace('/(<img alt=.+ .+>)/i',$v, $str,1);
 
 Top
JustUserR
Отправлено: 18 Марта, 2011 - 14:01:10
Post Id



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


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


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




ams пишет:
Теперь хочу заменить пути в строке $str тег img на пути этого массива ($arrrr), но оно только на первый элемент все заменяет
В качестве возможного варианта решения предполагаемой задачи, заключающейся в осуществлении выделения фиксированного блока информационного поля при условии отсутствия вложенного описания изображения, допустимо использование средств XML-анализатора соответственного HTML-кода, позволяющего обеспечить получение линейного текста до вложенного изображения, и произвести модификацию его размера в соответствии с предплагаемыми требованиями


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 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