Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Вырезать текст


Автор: aktuba 26.7.2007, 16:25
Добрый день. Есть такая проблема - из базы получаю текст, примерно следующего содержания:
Код

Это текст новости.<cut>Это продолжение текста.


Мне необходимо вырезать и вывести первую часть текста, т.е. все, что идет до <cut>. Как я понимаю, алгоритм должен быть примерно следующий: находим позицию <cut> и вырезаем все от начала и до найденной позиции. Если <cut> в тексте отсутствует - выводим весь текст.

Позицию пытаюсь найти через strpos или stripos, но ни то, ни другое не срабатывает. Если нетрудно - помогите с реализацией, т.к. я пока только новичок в php.

P.S.: и вообще, правильно ли то, что текст новости хранится в базе в виде html-текста или лучше хранить его, допустим, в BB-коде, а при выводе переводить в html???

Автор: sTa1kEr 26.7.2007, 16:43
Код

$str = "Это текст новости.<cut>Это продолжение текста.";
$arr = explode("<cut>", $str);
echo $arr[0];

Автор: SamDark 26.7.2007, 16:45
aktuba, 
Код

$text  = 'Это текст новости.<cut>Это продолжение текста.';
$text = preg_replace('~<cut>.*$~', '', $text);


Хранить в html можно если воспользоваться чем-то вроде: http://rmcreative.ru/news/id/1185199979/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)