PALADIN+ Опубликовано 3 Сентября 2007 Жалоба Поделиться Опубликовано 3 Сентября 2007 Вот у меня вопрос.Юзать такую фичу при парсинге текста это жестоко или нет, по отношению к ресурсам сервака? $txt = preg_replace( "# #i" , "nbsp;" , $txt ); Чтобы пробелы были "как есть".(Сам то я думаю что проблем нет, но непонятно почему так никто не делает ) PSкак-то странно тег code работает пробел nbsp; жуёт Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 3 Сентября 2007 Жалоба Поделиться Опубликовано 3 Сентября 2007 Жестоко.http://ru2.php.net/str_replaceЭтого будет достаточно. Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 3 Сентября 2007 Автор Жалоба Поделиться Опубликовано 3 Сентября 2007 То есть везде где можно в исходниках лучше поменять preg_replace на str_replace? PS вот исправление для 1.3 как я хочу, если кому интересно.http://www.ibresource.ru/forums/index.php?...st&p=124531 Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 3 Сентября 2007 Жалоба Поделиться Опубликовано 3 Сентября 2007 (изменено) Строковые функции работают значительно быстрее регулярных выражений, по сему, при возможности, рекомендуется использовать их.Да и вообще, заменять обычный пробел на неразрывный — это куда более жестче, чем использовать регулярное выражение. Неразрывный пробел по своей сути существует для очень «узких» место — чтобы тире на новую строку не переносилось без сзади идущего слова, предлоги были привязаны к словам и т.п. Изменено 3 Сентября 2007 пользователем sM1Le Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 3 Сентября 2007 Жалоба Поделиться Опубликовано 3 Сентября 2007 вот исправление для 1.3 как я хочу, если кому интересно.http://www.ibresource.ru/forums/index.php?...st&p=124531Да, там лучше заменить. Строковые функции работают значительно быстрее регулярных выражений, по сему, при возможности, рекомендуется использовать их.Да и вообще, заменять обычный пробел на неразрывный — это куда более жестче, чем использовать регулярное выражение. Неразрывный пробел по своей сути существует для очень «узких» место — чтобы тире на новую строку не переносилось без сзади идущего слова, предлоги были привязаны к словам и т.п.+1, я бы это только в "коде"(code) использовал, а если нужны изощрения с текстом - добавил бы свой bb-код. Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 3 Сентября 2007 Автор Жалоба Поделиться Опубликовано 3 Сентября 2007 Во, точно) Буду юзать тег типа [PRE] но не хтмл'ный и отстреливать прег_реплайсСмайл, Саннис - спасибо за ответы Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 4 Сентября 2007 Жалоба Поделиться Опубликовано 4 Сентября 2007 # #iДолго смеялся Чтобы пробелы были "как есть".(Сам то я думаю что проблем нет, но непонятно почему так никто не делаетПаладин, заменять можно. Но только не забывай что трафик возврастает. Вместо одного байта юзеры твоего форума будут качать уже 5. Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 4 Сентября 2007 Автор Жалоба Поделиться Опубликовано 4 Сентября 2007 Я так сделал в пост парсере.Норм? Из базы в форум $txt = preg_replace( "#<!--pre-->(.+?)<!--/pre-->#is" , "\[pre\]\\1\[/pre\]" , $txt ); Из форума в базу $txt = preg_replace( "#\[pre\](.+?)\[/pre\]#ies", "\$this->regex_pre_format('\\1')", $txt ); Функция function regex_pre_format($IN) { $IN = str_replace( " ", " ", $IN ); return "<!--pre-->".$IN."<!--/pre-->"; } Просто html'ый тег pre задаёт не тот шрифт, что по умолчанию используется на форуме. PSНужно ли экранировать слешами спецсимволы в прег_реплейсе? Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 4 Сентября 2007 Жалоба Поделиться Опубликовано 4 Сентября 2007 Нужно ли экранировать слешами спецсимволы в прег_реплейсе?Да. В стр_реплейсе - нет. P.S. А что мешает в CSS дописать:pre{ тра-ля-ла нужный фрнт }? Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 4 Сентября 2007 Жалоба Поделиться Опубликовано 4 Сентября 2007 Вообще для pre не надо конвертировать пробелы. Они и так там не разрывные. Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 4 Сентября 2007 Автор Жалоба Поделиться Опубликовано 4 Сентября 2007 А что мешает в CSS дописать:Кодpre{тра-ля-ла нужный фрнт}Я думал для pre нельзя прописать какой попало фонт и там принудительно ставится Arial. Исправил Ссылка на комментарий Поделиться на других сайтах Прочее
Jax Опубликовано 4 Сентября 2007 Жалоба Поделиться Опубликовано 4 Сентября 2007 http://www.htmlbook.ru/html/pre.html Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 4 Сентября 2007 Автор Жалоба Поделиться Опубликовано 4 Сентября 2007 Pre - отстой((Длинной строчкой он растягивает таблицу поста. По проверке длины слов проходит и растягивает.Возвращаюсь к варианту который выше. Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения