$exp = explode(' ', $str);
for($j = 0; $j <= count($img); $j++) {
for($i = 0; $i <= count($exp); $i++) {
if(stristr($exp[$i], 'href=""')) {
$exp[$i] = str_replace('href=""', 'href="'.$img[$j].'"', $exp[$i]);
}
}
}
//print_r($img);
echo implode(' ', $exp);
в массиве $img хранится:
Array ( [0] => http://test3/gplk11.jpg [1] => http://test3/gplk22.jpg [2] => http://test3/gplk33.jpg )
$exp1 - это текст(с тэгами)
Спустя 4 минуты, 51 секунда (7.10.2010 - 18:31) arvitaly написал(а):
Цитата |
скажите пожалуйста что здесь не правильно...... |
Почему вы думаете что что то неправильнО?
Спустя 29 минут, 32 секунды (7.10.2010 - 19:01) Michael написал(а):
$i = 0; $i < count($exp)
- границы циклов
- границы циклов
Спустя 37 минут, 7 секунд (7.10.2010 - 19:38) Crash2007 написал(а):
та границы правильно выставлены..!
кстати везде где находит " href="" " заменяется на первое значение массива $img..
а походу дела оно должно заменять значение $j - го индекса......вот и спрашиваю...может что-то не правильно сделал...?
кстати везде где находит " href="" " заменяется на первое значение массива $img..
а походу дела оно должно заменять значение $j - го индекса......вот и спрашиваю...может что-то не правильно сделал...?
Спустя 2 часа, 23 минуты, 30 секунд (7.10.2010 - 22:01) arvitaly написал(а):
Цитата |
кстати везде где находит " href="" " заменяется на первое значение массива $img.. |
На последний навен
И что именно в $str, пока не понятно
$exp = explode( ' ', $str ) ;
for ( $i = 0; $i <= count( $exp ); $i++ )
{
if ( stristr( $exp[$i], 'href=""' ) )
{
$exp[$i] = str_replace( 'href=""', 'href="' . $img[$i] . '"', $exp[$i] ) ;
}
}
//print_r($img);
echo implode( ' ', $exp ) ;
Может так нужно?
Спустя 48 минут, 30 секунд (7.10.2010 - 22:50) Crash2007 написал(а):
ну, вот $str :
вот $img :
arvitaly нээ, так не пойдёт..потому что у $exp и $img разные массивы!
как быть??...
<p>study ua</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/24.jpg" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/52.jpg" alt="" /></a></p>
вот $img :
Array ( [0] => /files/editor/24.jpg [1] => /files/editor/52.jpg )
arvitaly нээ, так не пойдёт..потому что у $exp и $img разные массивы!
как быть??...
Спустя 3 минуты, 14 секунд (7.10.2010 - 22:53) arvitaly написал(а):
И еще напишите что вы хотите увидеть в результате.
Или просто в хреф должно вставить то что в src, а массив $img не причем?
Или просто в хреф должно вставить то что в src, а массив $img не причем?
Спустя 1 минута, 56 секунд (7.10.2010 - 22:55) Crash2007 написал(а):
именно так, "в хреф должно вставить то что в src", а в $img уже сохранено то, что должно вставится в хреф...
Спустя 5 минут, 40 секунд (7.10.2010 - 23:00) arvitaly написал(а):
<?php
$str='
<p>study ua</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/24.jpg" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/52.jpg" alt="" /></a></p>
';
echo preg_replace('~<p><a(.*)href=""(.*)><img(.*)src="(.*)"(.*)/></a></p>~Usi','<p><a$1href="$4"$2><img$3src="$4"$5/></a></p>', $str);
?>
Так?
Спустя 5 минут, 46 секунд (7.10.2010 - 23:06) arvitaly написал(а):
<?php
$img = array( '111', '222' ) ;
$str = '
<p>study ua</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/24.jpg" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/52.jpg" alt="" /></a></p>
' ;
echo preg_replace_callback( '~<p><a(.*)href=""(.*)><img(.*)src="(.*)"(.*)/></a></p>~Usi', 'p', $str ) ;
function p( $m )
{
global $img ;
static $i = 0 ;
return '<p><a' . $m[1] . 'href="' . $img[$i++] . '"' . $m[2] . '><img' . $m[3] . 'src="' . $m[4] . '"' . $m[5] .
'/></a></p>' ;
}
?>
Или можно произвольными данными из массива по порядку заменить так
Спустя 2 минуты, 49 секунд (7.10.2010 - 23:09) Crash2007 написал(а):
ОМГ!!! я два дня мучаюсь а тут на те...
огромное спасибо!!!...
(с регулярками у меня пока туго..только учу это..)
огромное спасибо!!!...
(с регулярками у меня пока туго..только учу это..)
Спустя 6 минут, 40 секунд (7.10.2010 - 23:16) arvitaly написал(а):
Цитата |
ОМГ!!! я два дня мучаюсь а тут на те... огромное спасибо!!!... (с регулярками у меня пока туго..только учу это..) |
Лучше сам разбирайся хоть месяц, форум он до поры до времени...
Спустя 33 минуты, 13 секунд (7.10.2010 - 23:49) Crash2007 написал(а):
эмм..arvitaly..помоги ещё одним..:
если ( в тэге img существует атрибут id) {
true;
}
Спустя 2 минуты, 16 секунд (7.10.2010 - 23:51) arvitaly написал(а):
Цитата |
эмм..arvitaly..помоги ещё одним..: |
ну а как же учится(
if (preg_match('~<img.*id\s*=\s*".*".*>~Usi',$str)
Спустя 7 минут, 34 секунды (7.10.2010 - 23:59) Crash2007 написал(а):
оО..ещё спасибо!!=))
эмм..меня эта штука уже так запарила...что хочу уже поскорее доделать....))
а как это совместить?
эмм..меня эта штука уже так запарила...что хочу уже поскорее доделать....))
а как это совместить?
if(preg_match('~<img.*id\s*=\s*".*".*>~Usi', $imp)) {
echo preg_replace('~<a(.*)href=""(.*)><img(.*)src="(.*)"(.*)/></a>~Usi','<a$1href="$4"$2><img$3src="$4"$5/></a>', $imp);
}
если ( в тэге img существует атрибут id) {
вставляем в хреф, то что в срк;
} если (нет) {
то не вставляем =)
}
Спустя 5 минут, 54 секунды (8.10.2010 - 00:05) arvitaly написал(а):
Цитата |
если ( в тэге img существует атрибут id) вставляем в хреф, то что в срк; |
А вон чо надо, вопрос такой, а id где находится: до src или после
Спустя 2 минуты, 38 секунд (8.10.2010 - 00:07) Crash2007 написал(а):
ну од вижу что fckeditor сохраняет после src =)
Спустя 9 минут, 3 секунды (8.10.2010 - 00:16) arvitaly написал(а):
<?php
$str = '
<p>study ua</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/24.jpg" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/52.jpg" id="i1" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/53.jpg" id="i2" alt="" /></a></p>
' ;
echo preg_replace( '~<a([^<>]*)href=""([^<>]*)><img([^<>]*)src="([^"]+)"([^<>]*id="[^"]*"[^<>]*)/></a>~Usi',
'<a$1href="$4"$2><img$3src="$4"$5/></a>', $str ) ;
Спустя 5 минут, 47 секунд (8.10.2010 - 00:22) Crash2007 написал(а):
блиинн...вот дурень!!сори....наоборот....если есть ИД то ничего не менять......(а если есть, менять)....извини....
Спустя 5 минут, 45 секунд (8.10.2010 - 00:28) arvitaly написал(а):
<?php
$str = '
<p>study ua</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/24.jpg" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/52.jpg" id="i1" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/53.jpg" id="i2" alt="" /></a></p>
' ;
echo preg_replace( '~<a([^<>]*)href=""([^<>]*)><img([^<>]*)src="([^"]+)"(?:(?!\sid="|<|>).)*/></a>~Usi',
'<a$1href="$4"$2><img$3src="$4"$5/></a>', $str ) ;
Спустя 7 минут, 16 секунд (8.10.2010 - 00:35) Crash2007 написал(а):
хух..большой тебе сэнкс, очень помог!!!=)))
теперь будем учить!! =)
теперь будем учить!! =)
Спустя 22 минуты, 7 секунд (8.10.2010 - 00:57) Crash2007 написал(а):
кстати только что понял что этот fckeditor сохраняет id 1раз перед src и 1раз после src..то есть чередуются..(меняется с alt).....
я немного в шокэ....у тебя есть какието идеи??
я немного в шокэ....у тебя есть какието идеи??
Спустя 2 минуты, 45 секунд (8.10.2010 - 01:00) arvitaly написал(а):
<?php
$str = '
<p>study ua</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/24.jpg" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/52.jpg" id="i1" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" id="i2" width="200" src="/files/editor/53.jpg" alt="" /></a></p>
' ;
echo preg_replace( '~<a([^<>]*)href=""([^<>]*)><img((?!\sid="|<|>).)*src="([^"]+)"((?!\sid="|<|>).)*/></a>~Usi',
'<a$1href="$4"$2><img$3src="$4"$5/></a>', $str ) ;
Вроде кто-то обещал учить)
Спустя 13 минут, 26 секунд (8.10.2010 - 01:13) Crash2007 написал(а):
да. но ты не учёл что кроме id могут быть ещё атрибуты...
Спустя 18 минут, 6 секунд (8.10.2010 - 01:32) arvitaly написал(а):
Цитата |
да. но ты не учёл что кроме id могут быть ещё атрибуты.. |
<?php
$str = '
<p>study ua</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/24.jpg" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" width="200" src="/files/editor/52.jpg" id="i1" alt="" /></a></p>
<p>xcvsіі</p>
<p><a href="" class="highslide" onclick="return hs.expand(this, config1 )"><img height="125" id="i2" width="200" src="/files/editor/53.jpg" alt="" /></a></p>
' ;
echo preg_replace( '~<a([^<>]*)href=""([^<>]*)><img((?:(?!\sid="|<|>).)*)src="([^"]+)"((?:(?!\sid="|<|>).)*)/></a>~Usi',
'<a$1href="$4"$2><img$3src="$4"$5/></a>', $str ) ;
Спустя 3 минуты, 57 секунд (8.10.2010 - 01:35) Crash2007 написал(а):
" " --
оО..норм!! думаю проблем больше не возникнет
в который раз...спасибо!!
оО..норм!! думаю проблем больше не возникнет
в который раз...спасибо!!
_____________
Рисую на PHP :)