OrlenkoKN
8.10.2009 - 10:50
Подскажите, пожалуйста, как можно из поста вырезать весь текст, оставив только каритнки?
Например, есть текст:
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]
Собственно вот так..