[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вырезать текст и оставить картинки
OrlenkoKN
Подскажите, пожалуйста, как можно из поста вырезать весь текст, оставив только каритнки?

Например, есть текст:
HTML
<P>ВАШИНГТОН, 21 сентября. Президент США Барак Обама не намерен приостанавливать расследование методов, к которым прибегало ЦРУ в ходе допросов подозреваемых в терроризме. Как сообщает РБК, американский лидер заявил, что «никто не может попирать закон» и он не намерен вмешиваться в дела прокуратуры.Напомним, 19 сентября 2009 года семеро бывших руководителей ЦРУ попросили американского лидера прекратить расследование злоупотреблений при допросах лиц, подозреваемых в терроризме. В письме президенту говорится, что продолжение расследования серьезно подорвет желание агентов рисковать жизнью ради своей страны. Другим негативным последствием, по мнению а<IMG src="/album/8_22-b.jpg" title="Дом номер 4" alt="Дом номер 4"></P><P><BR></P><P><IMG src="/album/8_20-b.jpg" title="Дом номер 2" alt="Дом номер 2"></P><P><BR></P><P><IMG src="/album/8_im007.jpg" title="Крыша номер 2" alt="Крыша номер 2"></P>


Сформирован с помощью визивика, потому и грязный такой..

Вот и мне нужно оставить только картинки и подсчитать их количество.. Как выполнить удаление картинок я знаю, а вот это не получаетса...



Спустя 36 минут, 26 секунд (8.10.2009 - 10:27) Nikitian написал(а):
Посчитать количество картинок в тексте можно функцией substr_count()

Спустя 53 минуты, 45 секунд (8.10.2009 - 11:21) OrlenkoKN написал(а):
Спасибо, с подсчётом количества разобрался.. а с вырезкой кто-нть может помочь?

Спустя 5 минут, 38 секунд (8.10.2009 - 11:26) glock18 написал(а):
а в чем проблема то? если допустить, что все ссылки в кавычках, и .jpg нет в тексте, то можно

PHP
preg_match_all('/"(.+?\\.jpg)"/i'$string$matches);
print_r($matches);


если более жестко, то примерно так

PHP
preg_match_all('/<img.+?src="(.+?\\.jpg)".*?>/i'$string$matches);


Спустя 19 минут, 56 секунд (8.10.2009 - 11:46) OrlenkoKN написал(а):
Так мне нужно текст убрать, а картинки оставить. картинки я убираю вот так:
PHP
preg_replace("|<img[\s\S]+>|iU","",$text);

просто заменяю на пустое значение..
Цитата
если допустить, что все ссылки в кавычках

я ж про ссылки не писал ничего..

Спустя 14 минут, 43 секунды (8.10.2009 - 12:01) glock18 написал(а):
OrlenkoKN
ваше дело. я дал две регулярки, по которым можно выцепить картинки.

Спустя 8 минут, 29 секунд (8.10.2009 - 12:09) OrlenkoKN написал(а):
Спасибо

Спустя 10 часов, 16 минут, 15 секунд (8.10.2009 - 22:26) brdm написал(а):
PHP
if (preg_match_all("/<img(.*)src=(\S*) (.*)>/Uis",$htmlimg,$n) > 0
    {
      if (isset(
$n[2][0])) 
        
$img="<img".$n[1][0]."src=".$n[2][0]." ".$n[3][0].">";
  }


может из этого, что-то будет полезно

Спустя 12 часов, 8 секунд (9.10.2009 - 10:26) OrlenkoKN написал(а):
Спасибо всем. Вот так сделал:
$mess - входной пост
PHP
preg_match_all('/<img.+?src="(.+?\\.jpg)".+?title="(.+?)".*?>/i'$mess$m); 
     for (
$i=0$i<count($m[0]); $i++ ) { $txt.= $m[0][$i]."<br><strong>".$m[2][$i]."</strong><br>"; }


Мне ещё нужно было тайтл вытащить как подпись внизу картинки.

На выходе имеем:
[картинка1]
[описание1]

[картинка2]
[описание2]

Собственно вот так..
Быстрый ответ:

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