помогите текст разделить на части

T
На сайте с 02.02.2015
Offline
35
760

Есть текст разделеный br-ками. Как отделить от него кусок до первой br (для превьюшки)?

пробовал так

$pre = stristr($datа[0], 'br', true);

кусок текста отделяет но не работает

$pre = $pre->plaintext;

Возвращает ошибку что это не объект

дани мапов
На сайте с 06.09.2012
Offline
204
#1

$first = strpos($text, '<br>');

$result = mb_substr($text, 0, $first);

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
T
На сайте с 02.02.2015
Offline
35
#2

Ага спасибо, работает. А как остаток текста достать подскажите

дани мапов
На сайте с 06.09.2012
Offline
204
#3
Tilo:
Ага спасибо, работает. А как остаток текста достать подскажите

$first = strpos($text, '<br>');

$result = mb_substr($text, $first);

T
На сайте с 02.02.2015
Offline
35
#4

Что то не работает, мне тут наверно нужно предварительно первый перенос строки удалять?

Потому что в инспекторе код ваглядит вот так

Вот только у меня не получилось убрать первый, все убрать получается а вот первый нифига

что то картинка не вставляется Вот ссылка на скрин

---------- Добавлено 23.02.2015 в 17:19 ----------

Что то походу

$first = strpos($text,'<br>');
вообще мой текст не обрабатывает. Если просто в переменную TEXT пишу какой какойто текст, все работает, а с тем текстом который в нее пишет парсер, нифига не хочет.
T
На сайте с 02.02.2015
Offline
35
#5

Ага нашел причину. Сам затупил нужно было кодировку менять до поиска а я ее на выходе менял

Polkan
На сайте с 28.09.2005
Offline
102
#6

Tilo, можно так, не трогая мультибайтовые функции, зависящие от кодировки.

preg_match_all('|(.*?)<br ?/?>(.*)|is', $txt, $out, PREG_SET_ORDER);

$out[0][1] - кусок до первого br

$out[0][2] - все что после первого br

кроме того тут учитываются варианты: <br> <br/> <br /> <BR> ...

WordPress-плагин для Apishops (http://p-api-shop.ru/) P-API-Shop WooCommerce-плагин для Apishops (http://woo-apishops.ru/) Woo-Apishops
T
На сайте с 02.02.2015
Offline
35
#7
Polkan:
Tilo, можно так, не трогая мультибайтовые функции, зависящие от кодировки.
preg_match_all('|(.*?)<br ?/?>(.*)|', $txt, $out, PREG_SET_ORDER);
$out[0][1] - кусок до первого br
$out[0][2] - все что после первого br

кроме того тут учитываются варианты: <br> <br/> <br />

Ага спасибо так по удачней будет. а то в первом варианте еще сам тег br приходится обрезать, он почему то в тексте выводится.

Вот еще если подскажите как по правильно во втором куске текста заменить br на p, вообще будет великолепно. вот так текст выглядит



---------- Добавлено 23.02.2015 в 19:21 ----------

Tilo:
Ага спасибо так по удачней будет. а то в первом варианте еще сам тег br приходится обрезать, он почему то в тексте выводится.
Вот еще если подскажите как по правильно во втором куске текста заменить br на p, вообще будет великолепно. вот так текст выглядит

что то картинки не грузятся вобщем вот отрывок


<br>
Согласно сюжету фильма, молодая послушница Анна, которая готовится принять обет в католическом монастыре, узнает от своей тети, что на самом деле она по происхождению еврейка по имени Ида. Ее родители были убиты во время Второй мировой войны. Вместе с тетей Вандой девушка отправляется в путь, чтобы узнать правду о гибели семьи.
<br>
<br>
Фильм «Левиафан» российского режиссера Андрея Звягинцева, завоевавший несколько премий на различных киноконкурсах, на этот раз награду не получил.
<br>
<br>
Ранее картина Звягинцева осталась без премии Британской академии кино и телевидения (BAFTA). Она также уступила «Иде» в номинации «Лучший фильм на иностранном языке».
<br>
<br>
«Левиафан» удостоился
siv1987
На сайте с 02.04.2009
Offline
427
#8
Tilo:
$pre*=*$pre->plaintext;*

http://php.net/manual/ru/function.stristr.php


$pre = strstr($data[0], '<br>', true);
echo $pre;

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий