ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


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

> Описание: Как сделать, чтобы работало с двойными кавычками?
Defenderyk
Отправлено: 12 мая 2009 — 16:11
Post Id


Пользователь
Super Member


Покинул форум
Сообщений всего: 1027
Дата рег-ции: Февр. 2009  
Репутация: 31




Делаю у себя на сайте вывод картинки из новости или статьи. Этот код как бы достает картинку из новости и выводит в панель
CODE:
if (preg_match("/<img(.*?)>/i", "$news")) {
preg_match_all("|<img(.*) src='([^']*)'[^>]*>|is", $news, $preg_images);
for( $i = 0; $i < sizeof($preg_images); $i += 2) {
$image = $preg_images[$i][0];
$load_img = $image;
$news = str_replace( $image, $load_img, $news );


CODE:
echo "<img src='".$image."' width='126' height='126'>";


но он выводит только картинки, если они прописаны с одинарными кавычками. А как сделать, чтобы и с двойными выводил?
 
 
Furax
Отправлено: 13 мая 2009 — 03:14
Post Id



Пользователь
Newbie


Покинул форум
Сообщений всего: 49
Дата рег-ции: Февр. 2009  
Репутация: 8




Вот этот регэксп:
CODE:
"|<img(.*) src='([^']*)'[^>]*>|is"
Меняем на
CODE:
'|<img(.*) src="([^"]*)"[^>]*>|is'
 
 
Defenderyk
Отправлено: 13 мая 2009 — 08:31
Post Id


Пользователь
Super Member


Покинул форум
Сообщений всего: 1027
Дата рег-ции: Февр. 2009  
Репутация: 31




Благодарствую. сейчас проверю
(Добавление)
а универсально возможно сделать? чтобы и с теми и другими кавычками работало? или этот вариант уже работает и так и так?
 
 
Furax
Отправлено: 14 мая 2009 — 02:32
Post Id



Пользователь
Newbie


Покинул форум
Сообщений всего: 49
Дата рег-ции: Февр. 2009  
Репутация: 8




Универсально? Вот так, например:
CODE:
'|<img(.*)\ssrc=("([^"]*)")|(\'([^\']*)\')[^>]*>|is'
Вроде должно так и так работать, проверь.
 
 
Defenderyk
Отправлено: 14 мая 2009 — 07:44
Post Id


Пользователь
Super Member


Покинул форум
Сообщений всего: 1027
Дата рег-ции: Февр. 2009  
Репутация: 31




первый пирмер работает с двойными, а второй не показывает, если двойные стоят
 
 
yura3d
Отправлено: 14 мая 2009 — 15:06
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




Defenderyk пишет:
первый пирмер работает с двойными, а второй не показывает, если двойные стоят

Я бы регулярное выражение переписал так:
CODE:
preg_match_all("#<img(.*) src=('|\")([^'\"]*)\\1[^>]*>#is", $news, $preg_images);

Таким образом будут обрабатываться и одинарные, и двойные кавычки. Ну а вывести полученные картинки можно так:
CODE:
foreach ($preg_images[0] as $view)
echo $view;


Defenderyk пишет:
$image = $preg_images[$i][0];
$load_img = $image;
$news = str_replace( $image, $load_img, $news );

Вот в этом фрагменте ничего не понял. Сначала мы в $image записываем значение $preg_images[$i][0], а затем это же значение копируем в $load_img. Далее в переменной $news заменяем $image на $load_img, но ведь 2 последние переменные содержат одно и то же значение, и в итоге получается мы ничего не заменим, в чём тогда смысл этих строк?
 
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« PHP/Perl »

> Похожие темы: Как сделать, чтобы работало с двойными кавычками?
Темы Форум Информация о теме Обновление
Отдача некоторых картинок через скрипт
Помогите сделать
Общие вопросы Ответов: 40
Автор темы: BON
2 июня 2011 — 20:13
Автор: BON
Принципиально новая сборка ExBB
Хочу сделать принципиально новую сборку, выслушаю ваши предложения
Обсуждаем Ответов: 178
Автор темы: WebMaster
22 августа 2015 — 19:15
Автор: WebMaster
Вход в форум на отдельной странице.
как сделать?
Настройка форума Ответов: 1
Автор темы: КакВас
5 октября 2009 — 16:29
Автор: electron
Подпись
сделать галочку активной в профиле
Общие вопросы Ответов: 1
Автор темы: eisventura
26 июля 2009 — 17:39
Автор: yura3d
Ответить с цитированием
Как сделать?
Обсуждение Ответов: 13
Автор темы: Светлана
29 апреля 2010 — 10:54
Автор: electron
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.1919]     [ ]