|
|
|
| Напишу в этой теме...
В бд есть текст, нужно на экран выводить только первые 80 символов, а при переходе по ссылке выводить уже полный
Так вот, сделал функцией preg_replace, но корректно заработало только с символом 's' в конце шаблона
$comments_row['text'] = preg_replace("/(.{1,80}).+/s","\\1",$comments_row['text']);
|
Случайно его туда поставил в конец(где-то в нете видел подобное), но даже не понял что он делает этот символ.. не напомните? :) | |
|
|
|
|
|
|
|
для: ladan
(03.02.2012 в 16:39)
| | Он включает режим, когда регулярное выражение работает с несколькими строками, а не с одной. Этот режим нужно всегда включать, когда у вас в исходной строке есть переводы строк и регулярное выражение должно искать соответствие сразу по нескольким строкам. | |
|
|
|
|
|
|
|
для: cheops
(03.02.2012 в 16:55)
| | ясно.. а что такое "переводы строк?"
получается эти круглые скобки в шаблоне, делят строку на несколько строк?
preg_replace("/(.{1,5}).+/s","\\1","Шел медведь в лес за ягодами")
|
| |
|
|
|
|
|
|
|
для: ladan
(03.02.2012 в 17:37)
| | Нет, имеется в виду, строка "Шел медведь в лес за ягодами" вот она без переводов строк
Шел медведь в лес за ягодами
| а вот с переводами
Шел медведь
в лес
за ягодами
| без 's' вы работаете фактически с тремя подстроками "Шел медведь", "в лес " и "за ягодами", а не с единой строкой "Шел медведь в лес за ягодами". | |
|
|
|
|
|
|
|
для: cheops
(03.02.2012 в 17:44)
| | все ясно спс :) | |
|
|
|