Гриша К.
Новичок
Разделение в строке длинных слов на короткие, кроме html тэгов. wordwrap,preg_replace
Здравствуйте.
Есть следующая задача: обработать переменную таким образом, чтобы все слова больше указанной длинны были разделены, например тэгом <wbr />, но с тем условием, чтобы html тэги таким образом не разделялись, а также хотелбы вообще сделать так, чтобы пробелы не заменялись на указанный символ.
Пробовал делать так, сначала применить к переменной функцию wordwrap($x, 40, '<wbr />', 1) (все делает нормально, единственной что не нравится, то что пробелы заменяются на указанный тэг, ну такова суть функции),
затем пытался при помощи preg_replace удалить тэг <wbr /> в html тэгах - это не получилось.
Это нужно для обработки сообщений на форуме, чтобы длинные слова в сообщениях не выходили за границы экрана, например длинной более 200 символов, разделяя каждые сорок символов длинного слова тэгом <wbr /> эта задача решается.
Возможно задачу можно решить при помоще уже готовых php функций, либо уже есть какие-то популярные решения такой задачи, то напишите пожалуйста об этом.
P.S. Приблизительно представляю как можно решить такую задачу, разделив переменную при помощи explode на массив используя в качестве разделителя пробел, а затем в цикле обрабатывать каждую строку, несколько пугает гомозкость такой функции, учитывая что она будет использоваться на странице много раз (15-25 - в зависимости от количества сообщений).
Здравствуйте.
Есть следующая задача: обработать переменную таким образом, чтобы все слова больше указанной длинны были разделены, например тэгом <wbr />, но с тем условием, чтобы html тэги таким образом не разделялись, а также хотелбы вообще сделать так, чтобы пробелы не заменялись на указанный символ.
Пробовал делать так, сначала применить к переменной функцию wordwrap($x, 40, '<wbr />', 1) (все делает нормально, единственной что не нравится, то что пробелы заменяются на указанный тэг, ну такова суть функции),
затем пытался при помощи preg_replace удалить тэг <wbr /> в html тэгах - это не получилось.
Это нужно для обработки сообщений на форуме, чтобы длинные слова в сообщениях не выходили за границы экрана, например длинной более 200 символов, разделяя каждые сорок символов длинного слова тэгом <wbr /> эта задача решается.
Возможно задачу можно решить при помоще уже готовых php функций, либо уже есть какие-то популярные решения такой задачи, то напишите пожалуйста об этом.
P.S. Приблизительно представляю как можно решить такую задачу, разделив переменную при помощи explode на массив используя в качестве разделителя пробел, а затем в цикле обрабатывать каждую строку, несколько пугает гомозкость такой функции, учитывая что она будет использоваться на странице много раз (15-25 - в зависимости от количества сообщений).