2011-01-23 4 views
2

Я хочу вырезать строку около 300 символов и добавить «...» в конце, если она была выше этого числа символов. Я знаю, что это не может быть очень сложно, но я не хочу говорить пополам, поэтому я хотел бы знать, как мне это сделать, чтобы это не закончилось так: «И птица внезапно ...»Как отрезать строку и добавить метки подвески?

Благодаря

+0

возможный дубликат: http://stackoverflow.com/questions/4446034 – Jonah

+0

возможно дубликат [Обрезать многобайтовую строки в п символов] (HTTP: // stackoverflow.com/questions/2154220/truncate-a-multibyte-string-to-n-chars) – Gordon

+0

еще: http: // stack overflow.com/search?q=truncate+string+word+boundary+php – Gordon

ответ

2

http://php.net/wordwrap

$str = 'A very long string here'; 
$str = wordwrap($str, 100); 
$str = explode("\n", $str); 
$str = $str[0] . '...'; 
+0

Нет. Попробуйте с '' просто dummy \ ntext печати и '' – Gordon

+0

Мы можем использовать '$ str = str_replace (" \ n ", '', $ str);' в начале ... Это? – NAVEED

+0

Что делать, если OP хочет сохранить новые строки? Вы не знаете, будет ли результирующая строка напечатана в браузере, где новые строки не отображаются в любом случае. Его можно было напечатать в оболочке, и это было бы значимо. – Gordon

2
function limit($str, $limit, $append = '...') { 
    return preg_replace('/\S*$/', '', mb_substr($str, 0, $limit)) . $append; 
} 
Смежные вопросы