#php
#php
Вопрос:
У меня есть поле для комментариев на моем сайте, чего я хочу здесь, так это если пользователь вводит ввод (любой символ), который содержит более 20 символов, и не ставит пробел между ними, тогда он должен поместить пробел между ними.
Например: «asdasdasdasdasdasdasdasdasdasdasd»
Проанализировано: «asdasdasdasdasdasdasdasdasdasdasdasd»
Я думаю, это можно сделать с помощью сравнения строк, но я хочу, чтобы регулярное выражение соответствовало ему или полному решению. Спасибо за любую помощь.
Ответ №1:
это называется переносом слов.
http://php.net/manual/en/function .wordwrap.php
из примеров :
<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, " ", true);
echo "$newtextn";
?>
output:
A very long wooooooo ooooord.
Комментарии:
1. это приятно, но это не нарушает: $text = «pppppp____asdas__ds_d__as___dasda__sdasd»;
Ответ №2:
Функция wordwrap
хорошо выполняет эту работу. Но вот решение на основе регулярных выражений:
$str = "asdasdasdasdasdasdasdasd";
$str = preg_replace('/(.{20})/','$1 ',$str);
Это добавит пробел, даже если входные данные имеют размер 20. Если вы не хотите этого использовать:
$str = preg_replace('/(.{20})(?=.)/','$1 ',$str);