powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как разбить длинное слово или перенести строку (php)?
11 сообщений из 11, страница 1 из 1
Как разбить длинное слово или перенести строку (php)?
    #38026108
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Положим есть некое перечисление записываемое через запятые.
АБВ,ГДЕЖ,... и так далее.

При выгрузке из бд получается длинное слово и вид весь корежится. Как вставить, скажем, пробел, если не встречается пробел на протяжении 40 символов? Есть такая функция, как можно через регулярки реализовать?
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38026109
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К слову - wordwrap - не наш вариант - он просто вставляет что хочешь каждые Х символов, без проверки.

Или, скажем, как сделать запятую символом разбивки/переноса?
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38026166
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_как сделать запятую символом разбивки/переноса? Тынц - меняйте на что хотите.


_Промешан_Как вставить, скажем, пробел, если не встречается пробел на протяжении 40 символов? Есть такая функция, как можно через регулярки реализовать?Такой функции нет среди стандартных. Хотя, можно намутить что-то вроде
Код: php
1.
preg_replace('/([^\s]{40})/' , "$1 ", $str);




Без регулярок можно так: explode() по пробелу, в цикле пройтись по массиву с функцией преобразования, а после обратно implode() с пробелом. Сама функция преобразования обрабатывает строки длиной более 40 символов через wordwrap().
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38026214
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_,

поставьте после каждой запятой - пробел. и ничего ломаться не будет
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38026739
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r u_Промешан_,

поставьте после каждой запятой - пробел. и ничего ломаться не будетА если нет универсального разделителя. Например используется и запятая и | и \ и ; и так далее?

Без регулярок можно так: explode() по пробелу, в цикле пройтись по массиву с функцией преобразования, а после обратно implode() с пробелом. Сама функция преобразования обрабатывает строки длиной более 40 символов через wordwrap().А не долго ли?
Всмысле быстрее никак?

Такой функции нет среди стандартных. Хотя, можно намутить что-то вроде
preg_replace('/([^\s]{40})/' , "$1 ", $str);Приведите пожалуйста пример для

Date,Title,Text,TheString,Price,Contacts,TheBlogName,BlogTitle

Благодарю.
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38026788
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_,

$str = 'Date;Title ,Text|TheString\Price,Contacts|TheBlogName,BlogTitle';
$str = preg_replace("/\b\w/i", ' $0', $str);
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38027035
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_А не долго ли?А Вы проверьте. Думаю, с большим объемом текста, где длинных строк не слишком много, будет быстрее чем регулярки.
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38027157
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r u_Промешан_,

$str = 'Date;Title ,Text|TheString\Price,Contacts|TheBlogName,BlogTitle';
$str = preg_replace("/\b\w/i", ' $0', $str);

Не совсем то.
Большие строки разбивает так, что html текст перестает быть таковым.

А Вы проверьте. Думаю, с большим объемом текста, где длинных строк не слишком много, будет быстрее чем регулярки.У меня есть места, где большой текст, а есть где малый.
почему вы так думаете что быстрее?
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38027165
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какая регулярка будет, которая бы проставляла пробелы, но миновала бы поиск в тегах?
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38027276
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_почему вы так думаете что быстрее?Регулярке однозначно придется просматривать последовательно весь текст и проверять его на соответствие шаблону, независимо от того, есть меж пробелами 40 символов, или нет. В варианте с разбивкой строки в массив на составляющие нет смысла просматривать куски длиной 40 или менее символов - он и так удовлетворяет условиям. Длина строки вычисляется очень быстро. Разбивка, хоть и требует создания новой сущности (массива) с последующим копированием данных, сама по себе не слишком тяжела. Для обработки же длинных элементов используется гораздо менее ресурсожручая функция. Разумеется, это не более чем предположения, да и от исходных данных явно будет какая-то зависимость.

_Промешан_но миновала бы поиск в тегахОпс! Уже не просто текст, оказывается. Что еще появится - теги различной парности (с закрывающим тегом и без), вложенные...?
...
Рейтинг: 0 / 0
Как разбить длинное слово или перенести строку (php)?
    #38027421
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle_Промешан_но миновала бы поиск в тегахОпс! Уже не просто текст, оказывается. Что еще появится - теги различной парности (с закрывающим тегом и без), вложенные...?
Ну это ж не так сложно, вроде.
/[<{s}]...[>{s}]/

Никак не могу запомнить регулярки. Есть прожка хорошая, называется Expresso - позволяет с регулярками работать. Но для PHP они немного отличаются.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как разбить длинное слово или перенести строку (php)?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]