Hammeron Новичок 25 Июл 2006 #1 Регулярные выражения. Люди добрые поможите! Я зелёный в регулярных выражениях ещё! Необходимо: "Максимова Валентина Дмитриевна" заменить на "Максимова В.Д." Как написать условие? или может вообще не использовать регулярные выражения?
Регулярные выражения. Люди добрые поможите! Я зелёный в регулярных выражениях ещё! Необходимо: "Максимова Валентина Дмитриевна" заменить на "Максимова В.Д." Как написать условие? или может вообще не использовать регулярные выражения?
WP ^_^ 25 Июл 2006 #3 Для начала напишем выражение которое разобьет на инициалы. ~(\S+)\s(\S+)\s(\S+)~, затем составим шаблон результата: "$1 $2.$3.", т.е. PHP: $subject = 'Максимова Валентина Дмитриевна'; $pattern = '~^(\S+)\s(\S)\S*\s(\S+)\S*$~'; $replacement = '$1 $2.$3.'; $result = preg_replace($pattern,$replacement,$subject); echo $result;
Для начала напишем выражение которое разобьет на инициалы. ~(\S+)\s(\S+)\s(\S+)~, затем составим шаблон результата: "$1 $2.$3.", т.е. PHP: $subject = 'Максимова Валентина Дмитриевна'; $pattern = '~^(\S+)\s(\S)\S*\s(\S+)\S*$~'; $replacement = '$1 $2.$3.'; $result = preg_replace($pattern,$replacement,$subject); echo $result;
Hammeron Новичок 25 Июл 2006 #4 '~^(\S+)\s(\S)\S*\s(\S >+<лишний )\S*$~' Спасибо большое!!! почти сам додумался)