Всем добрый день. Учу регулярные выражения по данной
статье.
Остановился на "Пример к главе". Суть самого регулярного выражения я понял, решил смоделировать ситуацию описанную в статье, остановился на таком решении.
$name = ["фамилия имя отчество", "фамилия и о", "фамилия и.о."];
foreach ($name as $value) {
preg_match("/([^\s]+)\s+([^\s.])[^\s.]*(?:\s|\.)([^\s.])[^\s.]*/", $value, $array);
$arr[] = $array[1].' '.$array[2].$array[3];
}
print_r($arr);
Может быть подскажете более гармоничное решение?
И еще пара вопросов:
Каким образом добавить пробел в строку не прибегая к вставке пробела между кавычками? К примеру табуляция вставляется \t, в регулярках пробел пишется как \s (надеюсь суть выразил понятно).
У меня вместо букв имени и отчества вопросы, пробовал выставлять разную кодировку, но к успеху не привело.