[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: авто-пристройка увеличения изображения
Crash2007
привет! =)
есть редактор (fckeditor). добавляю в базу через него текст, изображения... потом на странице использую самописную функцию, которая разбирает тот текст и ищет тэги с изображениями, и пристраивает к нему highslide. но функция написана очень коряво....для серьозной работы не годится) запрос для гугла не могу придумать. и вот пришёл к вам за помощью.. кто знает готовые примеры..?? unsure.gif



Спустя 2 минуты, 38 секунд (6.10.2010 - 21:34) arvitaly написал(а):
Цитата
и пристраивает к нему highslide


каким образом?

Спустя 4 минуты, 16 секунд (6.10.2010 - 21:39) Crash2007 написал(а):
в общем вот функция..(только не смейтесь)
function img2HighslideConvert($str) {
$e = explode(' ',$str);
for($i = 0; $i <= count($e) + 30; $i++) {
if(stristr($e[$i], 'img')) {
$e[$i] = str_replace('img', 'a', $e[$i]);
}
if(stristr($e[$i], '/>')) {
if(!stristr($e[$i - 1], '<br')) $e[$i] = mb_substr($e[$i],2);
}
if(stristr($e[$i], 'alt')) {
if(mb_substr($e[$i],-1) != '"') unset($e[$i + 1]);
unset($e[$i]);
}
if(stristr($e[$i], 'height')) {
$height = $e[$i];
if(!stristr($e[$i - 1], '<td')) unset($e[$i]);
}
if(stristr($e[$i], 'width')) {
$width = $e[$i];
if(!stristr($e[$i - 1], '<table') and !stristr($e[$i - 1], '<td')) unset($e[$i]);
}
if(stristr($e[$i], 'hspace')) {
$hspace = $e[$i];
unset($e[$i]);
}
if(stristr($e[$i], 'align')) {
$align = $e[$i];
}
if(stristr($e[$i], 'src')) {
$image = mb_substr($e[$i],5,-1);
$e[$i] = 'href="'.$image.'" class="highslide" onclick="return hs.expand(this, config1 )"><img src="'.$image.'" '.$width.' '.$height.' '.$hspace.' '.$align.'></a>';
}
}

//print_r($e);
echo implode(' ',$e);
}

Спустя 39 минут, 39 секунд (6.10.2010 - 22:18) arvitaly написал(а):
Можно еще пример исходного текста

Спустя 45 минут, 53 секунды (6.10.2010 - 23:04) Crash2007 написал(а):
ахах)))любой исходник текста(с тэгами).. rolleyes.gif

Спустя 15 часов, 14 минут, 17 секунд (7.10.2010 - 14:18) Crash2007 написал(а):
ещё это написал:
function test($str) {
$exp = explode(' ', $str);
for($i = 0; $i <= count($exp); $i++) {
if(stristr($exp[$i], 'src="')) $img[$i] = mb_substr($exp[$i],5,-1);
if(stristr($exp[$i], '<img')) $exp[$i] = str_replace('<img', '<a href="'.$img[$i].'" class="highslide" onclick="return hs.expand(this, config1 )"><img', $exp[$i]);
if(stristr($exp[$i], '/>')) {
if(stristr($exp[$i - 1], 'src="') or stristr($exp[$i - 1], 'alt="') or
stristr($exp[$i - 1], 'width="') or stristr($exp[$i - 1], 'height="')) $exp[$i] = str_replace('/>', '/></a>', $exp[$i]);
}
}

//print_r($exp);
echo implode(' ', $exp);
}

но незнаю как в href="" запихнуть адрес изображения (из src="")...
делаю так:
в массиве $img сохраняю адреса изображений а дальше (в href) не выводятся...помогите с этим... unsure.gif


_____________
Рисую на PHP :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.