Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как удалить пробелы и переносы строк до текста и в самом тексте массива

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
5H1
Отправлено: 22 Июля, 2018 - 06:40:18
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июль 2018  


Помог: 0 раз(а)




Здравствуйте!
Помогите решить проблему, есть массивы такого типа:

CODE (php):
скопировать код в буфер обмена
  1.         (
  2.             [0] =>
  3.                      
  4.                         1.
  5.                        
  6.                            Иванов Иван Иванович
  7.                        
  8.                      
  9.                  
  10.             [1] =>
  11.                      
  12.                         2.
  13.                        
  14.                            Иванова Иванна Ивановна
  15.                        
  16.                      
  17.                  
  18. )


Задачи:
1) удалить пробелы и переносы строк от точки до первой буквы с пробелом между ними
2) удалить все и оставить только ФИО в массиве

Как удалять пробелы до и после текста я разобрался, а вот с остальным - беда Улыбка

(Отредактировано автором: 22 Июля, 2018 - 06:44:57)

 
 Top
5H1
Отправлено: 22 Июля, 2018 - 10:25:43
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Июль 2018  


Помог: 0 раз(а)




Получилось следующим образом:

PHP:
скопировать код в буфер обмена
  1. $data['Manager'] = array_map(function($v) { return preg_replace('/\s\s+/', ' ', trim($v)); }, $data['Manager']);


Помогите доделать регулярное выражение /\s\s+/ таким образом, чтобы к дублирующим пробелам оно удаляло и цифры с точкой перед началом текста.
 
 Top
Строитель Модератор
Отправлено: 22 Июля, 2018 - 23:31:04
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




PHP:
скопировать код в буфер обмена
  1. $data['Manager'] = Array(
  2.     '
  3.            
  4.                1.
  5.              
  6.                   Иванов Иван Иванович
  7.                  
  8.                  
  9.    ',
  10.     '
  11.            
  12.                2.
  13.              
  14.                   Иванова Иванна Ивановна
  15.                  
  16.    '
  17. );
  18.  
  19.  
  20. $data['Manager'] = array_map(function($v) {
  21.     return preg_replace('~\s{2,}|\d+\.~', '', $v);
  22. }, $data['Manager']);
  23.  
  24. var_dump($data);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB