- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Нужно регуляркой выбрать src всех картинок в тексте
делаю так:
Проблема в том, что если 2 и более картинок идут подряд в одной строке,- скрипт выдаёт строку целиком.
<p><img src=\"http://site.ru/images/1.jpg\" style=\"width:121pt;height:71pt;\" /><img src=\"http://site.ru/images/2.jpg\" style=\"width:110pt;height:34pt;\" /></p>
<p>тесттекст</p><p><img src=\"http://site.ru/images/3.jpg\" style=\"width:90pt;height:18pt;\" /></p><p>В проекциях на ось х это уравнение запишется в виде</p><p><img src=\"http://site.ru/images/4.jpg\" style=\"width:162pt;height:12pt;\" /><img src=\"http://site.ru/images/5.jpg\" style=\"width:269pt;height:38pt;\" /></p>";
результат
[0]=>
array(2) {
...
}
[1]=>
array(2) {
[0]=>
string(142) "http://site.ru/images/1.jpg" style="width:121pt;height:71pt;" /><img src="http://site.ru/images/2.jpg" style="width:110pt;height:34pt;" /></p>"
[1]=>
string(322) "http://site.ru/images/3.jpg" style="width:90pt;height:18pt;" /></p><p>В проекциях на ось х это уравнение запишется в виде</p><p><img src="http://site.ru/images/4.jpg" style="width:162pt;height:12pt;" /><img src="http://site.ru/images/5.jpg" style="width:269pt;height:38pt;" /></p>"
}
}
вместо нужного мне
[0]=>
array(5) {
...
}
[1]=>
array(5) {
[0]=>
string(27) "http://site.ru/images/1.jpg"
[1]=>
string(27) "http://site.ru/images/2.jpg"
[2]=>
string(27) "http://site.ru/images/3.jpg"
[3]=>
string(27) "http://site.ru/images/4.jpg"
[4]=>
string(27) "http://site.ru/images/5.jpg"
}
}
И второй вопрос: как ограничить вывод только содержимым параметра src?
если картинки в одной строке,
выдаёт
[0]=>
string(60) "http://site.ru/images/1.jpg" style="width:121pt;height:71pt;"
...
если же вставляю
то нормально, но после src не обязательно может быть style
---------- Добавлено 29.02.2012 в 13:09 ----------
нашёл:
правда, она выдаёт результат в виде
I.
#<img\s+src\s*=\s*["\']?(.*?)["\']#
II.
#<img\s+src\s*=\s*["\']?([^"\']+)#
I.
#<img\s+src\s*=\s*["\']?(.*?)["\']#
II.
#<img\s+src\s*=\s*["\']?([^"\']+)#
Спасибо! первый вариант сработал.
Что если в тексте между <img и src могут быть атрибуты вроде width="13%", как это обыграть?
---------- Добавлено 29.02.2012 в 13:26 ----------
выдаёт, но мало ли.. скрипт какой в тексте проскользнёт
сделай через dom
$document = new DOMDocument();
$document->loadHTML($buffer);
foreach($document->getElementsByTagName('img') as $img) {
$src []= $img->getAttribute('src');
}
#<img[^>]+?src=["\']?(.*?)["\']#
#<img(.+?)src=["\']?(.+?)["\']#
Ragnarok, кажется такой вариант решит все Ваши вопросы
preg_match_all('#<img[^>]+src\s*=\s*(["\'])([^\s"\']+)\\1#im',$content,$imgurls);
print '<pre>';
print_r($imgurls[2]);
print '</pre>';
#<img[^>]+?src=["\']?(.*?)["\']#
#<img(.+?)src=["\']?(.+?)["\']#
спасибо! такой работает, но вариант
Ragnarok, кажется такой вариант решит все Ваши вопросы
preg_match_all('#<img[^>]+src\s*=\s*(["\'])([^\s"\']+)\\1#im',$content,$imgurls);
print '<pre>';
print_r($imgurls[2]);
print '</pre>';
универсальнее. Спасибо!
Попробуйте simple_html_dom parser http://simplehtmldom.sourceforge.net/