Вопрос по строковым функциям ПХП

12 3
B
На сайте с 11.05.2009
Offline
85
1474

Нужно обрезать строку до последней точки. То есть тот хвост, который образуется после генерации(генерация по словам:explode(' ', $content))

На ум приходит вот это:

$endstr = strrchr($content, ".");

$content = $content."....";

$content = str_replace($endstr."....", ".", $content);

Но загвоздка в том, что обрезает только до точки, а нужно до последнего символа из ряда: ".","?","!","!?","..." и тд.

Вооот
s91
На сайте с 13.04.2009
Offline
88
s91
#1

Сделай свою функцию, быстрее будет...

Не бывает белой и черной оптимизации. Бывает только обман и разные способы его реализации
BredoGen.
На сайте с 19.10.2009
Offline
98
#2


$array = explode(' ', $content);
foreach($array as $i => $slovo) {
$array[$i] = preg_replace('#[!\?\.]$#', '', $slovo);
}

Пишу не с компьютера, возможно накосячил:)

B
На сайте с 11.05.2009
Offline
85
#3

BredoGen., По-моему ты меня не понял...

Есть строка:

яния. Сегодня впервые выйти, и пышными цветами риторики и который покончил с каким-нибудь Месонье! Старики, которым домен микронезия мне блистать, я заложил за первый поэт Лотен, от масла уже реставрирует традиционную монархию. А Борис Кошно, выбритый с натуры, которые росли волосы, третью сбоку, над

Из нее нужно сделать:

яния. Сегодня впервые выйти, и пышными цветами риторики и который покончил с каким-нибудь Месонье! Старики, которым домен микронезия мне блистать, я заложил за первый поэт Лотен, от масла уже реставрирует традиционную монархию.

Или Есть строка:

яния. Сегодня впервые выйти, и пышными цветами риторики и который покончил с каким-нибудь Месонье! Старики, которым домен микронезия мне блистать, я заложил за первый поэт Лотен, от масла уже реставрирует традиционную монархию? А Борис Кошно, выбритый с натуры, которые росли волосы, третью сбоку, над

Из нее нужно сделать:

яния. Сегодня впервые выйти, и пышными цветами риторики и который покончил с каким-нибудь Месонье! Старики, которым домен микронезия мне блистать, я заложил за первый поэт Лотен, от масла уже реставрирует традиционную монархию?
S
На сайте с 12.11.2009
Offline
25
shi
#4

(.+)[\.\?].+?

10 символов

B
На сайте с 11.05.2009
Offline
85
#5

Я вообще нуб в регулярных выражениях...

shi:
(.+)[\.\?].+?

Так?:

$endstr = strrchr($content, "(.+)[\.\?].+?");

$content = $content."....";

$content = str_replace($endstr."....", ".", $content);

Косячно как-то работает... Оставляет "?-" или ",."

S
На сайте с 12.11.2009
Offline
25
shi
#6
begunok:
Я вообще нуб в регулярных выражениях...


Так?:
$endstr = strrchr($content, "(.+)[\.\?].+?");
$content = $content."....";
$content = str_replace($endstr."....", ".", $content);

Косячно как-то работает... Оставляет "?-" или ",."

preg_match('(.+)[\.\?].+?', $text, $matches);

$need = $matches[1];

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

entropy
На сайте с 21.09.2007
Offline
43
#7

Пишу эти строчки, размазывая говно пальцем по бумаге.

if(($pos=strrpos($text, '.'))!==false) $text=substr($text, 0, $pos+1);

S
На сайте с 12.11.2009
Offline
25
shi
#8
entropy:
Пишу эти строчки, размазывая говно пальцем по бумаге.

if(($pos=strrpos($text, '.'))!==false) $text=substr($text, 0, $pos+1);

😆😆

.:nbd:.
На сайте с 04.11.2008
Offline
98
#9
entropy:
Пишу эти строчки, размазывая говно пальцем по бумаге.

if(($pos=strrpos($text, '.'))!==false) $text=substr($text, 0, $pos+1);

Нафига это =) Постом выше уже есть ответ. Только чуть подправить примерно так

preg_match('|(.+[\.\?\!]).+?|', $text, $matches);
$need = $matches[1];
Палю тему Дорген (/ru/forum/439165) + кеи + контент (http://datarama.biz/) + еще немного кеев и скриптов (http://amazingsoftware.ru/) = $$$ Мы делаем доры, а не пишем романы (c) один Дима рефка dino_spomoni (http://goo.gl/w62v3)
FeoOne
На сайте с 27.12.2008
Offline
32
#10
Нафига это =)

это альтернативный вариант

12 3

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