Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: выдрать картинки
 
 автор: TavRoX   (30.09.2011 в 03:18)   письмо автору
 
 

ребят вообещм в переменной есть к примеру такой текст
...

и вконце идут картинки, как сделать так что бы картинки шли друг за дружкой. убрать теги <p> но не со всего текста а только которые вокруг картинок

  Ответить  
 
 автор: Slo_Nik   (30.09.2011 в 09:47)   письмо автору
 
   для: TavRoX   (30.09.2011 в 03:18)
 

во-первых, зачем так растягивать сообщение?
во-вторых, есть соответствующая ветка форума для подобных вопросов регулярные выражения
в-третьих, попробуйте так

<?php 
 $string 
"...."// тут Ваш код, который Вы привели выше, там где прописаны изображения
 
$str strip_tags($string"<img>");
echo 
htmlspecialchars($str);
// получите строку в которой удалены теги <p> и </p>
?>

  Ответить  
 
 автор: TavRoX   (30.09.2011 в 13:10)   письмо автору
 
   для: Slo_Nik   (30.09.2011 в 09:47)
 

ну тогда оно удалит со всей переменной а надо только в конце где идут изображения
небольшое решение нашел вот такое но это всеравно не то

$text2 = str_replace ('<p>&nbsp;</p>', '', $text2);
$text2 = str_replace ('/></p>', '/>', $text2);
$text2 = str_replace ('<p><img', '<img', $text2);
$text2 = str_replace ('<p><br /><img', '<img', $text2);
$text2 = str_replace ('<p><strong><img', '<img', $text2);
$text2 = str_replace ('/>&nbsp;</strong></p>', '/>', $text2);
$text2 = str_replace ('/>&nbsp;</p>', '/>', $text2);
$text2 = str_replace ('<p>&nbsp;<img', '<img', $text2);

  Ответить  
 
 автор: Slo_Nik   (30.09.2011 в 13:24)   письмо автору
 
   для: TavRoX   (30.09.2011 в 13:10)
 

ну а где исходный код? прикрепите в файле к сообщению

  Ответить  
 
 автор: cheops   (30.09.2011 в 10:43)   письмо автору
 
   для: TavRoX   (30.09.2011 в 03:18)
 

Если не сложно прикрепите HTML-код в виде файла.

  Ответить  
 
 автор: TavRoX   (30.09.2011 в 19:58)   письмо автору
6.1 Кб
 
   для: cheops   (30.09.2011 в 10:43)
 

вот

  Ответить  
 
 автор: f111   (30.09.2011 в 20:07)   письмо автору
 
   для: TavRoX   (30.09.2011 в 19:58)
 

<?php
$pattern 
"~<p>(<img[^>]+/>(?:\s|&nbsp;)?)+</p>~";
$replacement "$1";
echo 
preg_replace($pattern$replacement$string);
?>

подойдёт?
____
видимо не подойдёт, есть ошибка(

  Ответить  
 
 автор: TavRoX   (30.09.2011 в 21:44)   письмо автору
 
   для: f111   (30.09.2011 в 20:07)
 

а стринг куда?)

  Ответить  
 
 автор: f111   (30.09.2011 в 22:27)   письмо автору
 
   для: TavRoX   (30.09.2011 в 21:44)
 

в *+

всё равно не работает как надо

  Ответить  
 
 автор: f111   (01.10.2011 в 02:05)   письмо автору
 
   для: TavRoX   (30.09.2011 в 21:44)
 

наконец-то вник где ошибка в моём РВ.

вот варЬЯнт без ошибки: <p>(?:<br />)?((?:<img[^>]+/>(?:\s|&nbsp;)?)+)</p>
вытащит все img которые между тегами p, заодно вытащит и там где попадётся пробел, перенос строки, спец символ &nbsp; и тег br.

p.s. если в моём прошлом сообщении вы не нашли ответ на свой вопрос "а стринг куда?)", то поясню, в любое удобное для вас место ;-)

  Ответить  
 
 автор: TavRoX   (02.10.2011 в 03:14)   письмо автору
 
   для: f111   (01.10.2011 в 02:05)
 

а стринг что делает?) что в той переменной

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования