Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Обрезка текста до определенного слова

Обрезка текста до определенного слова


     26.04.2014    Общие вопросы по PHP, Хаки, MySQL    1638

вопрос
Здравствуйте уважаемые!
Подскажите пожалуйста как обрезать текст до определенного слова.
Есть новости. Все новости надо порезать до определенного слова которое встречается в них что то типа
{habracut} и сохранить опять таки в БД только в другую категорию.
Если есть вариант сделать это прямо в бд запросом буду признателен вдвойне =)

Ответил: cybernatic


Если кому то нужен будет ответ:
$text = "Мой длинный текст с разделителем {cut} данный текст уже обрезан и не должен показываться";
$pos = mb_stristr($text,'{cut}', true);

echo trim($pos);

вернет: Мой длинный текст с разделителем

Комментарии пользователей (14)

lutskboy
3

550 | 104

lutskboy - 27 апреля 2014 14:31 - Юзер

читай строковые функции типа strlen substr/ или через explode

cybernatic
12

124 | 125

cybernatic - 27 апреля 2014 14:32 - Эксперт

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

lutskboy
3

550 | 104

lutskboy - 27 апреля 2014 14:38 - Юзер

вот видишь. ты и сам знаешь. а зачем спрашивать.

cybernatic
12

124 | 125

cybernatic - 27 апреля 2014 14:40 - Эксперт

Кажись так :-)
mb_strpos + mb_substr


$text = "Мой длинный текст с разделителем {cut} данный текст уже обрезан и не должен показываться";

$cut = mb_substr(0,mb_strpos($text,'{cut}'),$text);
echo $cut;

dj-avtosh
39

1479 | 390

dj-avtosh - 27 апреля 2014 15:29 - шашлычник


cybernatic, mb_ юзаешь без задания кодировки?


skype: elhan.isaev

cybernatic
12

124 | 125

cybernatic - 27 апреля 2014 16:32 - Эксперт

Да без указания, вроде берет по умолчанию с настроек php

cybernatic
12

124 | 125

cybernatic - 27 апреля 2014 16:33 - Эксперт

Правда ответ посмотри я по другому сделал, так как версия php > 5.3

dj-avtosh
39

1479 | 390

dj-avtosh - 27 апреля 2014 17:19 - шашлычник

и что там относительно word_wrap нового?

skype: elhan.isaev

cybernatic
12

124 | 125

cybernatic - 27 апреля 2014 17:20 - Эксперт

Причем тут word_wrap?

dj-avtosh
39

1479 | 390

dj-avtosh - 27 апреля 2014 17:23 - шашлычник

не wordwrap ли это делает без всяких костылей?

skype: elhan.isaev

cybernatic
12

124 | 125

cybernatic - 27 апреля 2014 17:25 - Эксперт

WW() просто оборачивает str после определенной длинны тем что укажешь в нем 3тим параметром.
А мне надо было просто удалить все символы которые будут после {cut} и я ее сделал с помощью mb_stristr с TRUE в третьем параметре как написанно в phpmanual

dj-avtosh
39

1479 | 390

dj-avtosh - 27 апреля 2014 17:29 - шашлычник

current ( explode ( 'слово', $string ) )

php 5.4+
explode ( 'слово', $string ) [0]

может и так будет работать...

skype: elhan.isaev

cybernatic
12

124 | 125

cybernatic - 27 апреля 2014 17:30 - Эксперт

Можешь помочь с аяксом и фильтром я напишу тебе в лс? )

dj-avtosh
39

1479 | 390

dj-avtosh - 27 апреля 2014 17:32 - шашлычник

новый вопрос задавай

skype: elhan.isaev

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы