Я хочу преобразовать входную строку в Заголовок.
Итак, если у меня есть строка ввода
Name: MR. M.A.D KARIM
Я хочу получить следующую строку вывода
Name: M.A.D Karim
И если у меня есть строка ввода
Address: 12/A, ROOM NO-B 13
Я хочу производить
Address: 12/A, Room No-B 13
Я хочу, чтобы у моей выходной строки была заглавная буква после любого символа пробела, а также после любого из следующих символов: .
, -
, /
,
Мое текущее решение
ucwords(strtolower($string));
Но это оставляет персонажей после .
, -
а также /
в нижнем регистре, пока я хочу, чтобы они были в верхнем регистре.
Это должно работать для вас:
<?php$str = "Name: MR. M.A.D KARIM";
$result = "";
$arr = array();
$pattern = '/([;:,-.\/ X])/';
$array = preg_split($pattern, $str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
foreach($array as $k => $v)
$result .= ucwords(strtolower($v));
//$result = str_replace("Mr.", "", $result); ->If you don't want Mr. in a String
echo $result;?>
Входные данные:
Name: MR. M.A.D KARIM
Address: 12/A, ROOM NO-B 13
Выход:
Name: M.A.D Karim
Address: 12/A, Room No-B 13
Других решений пока нет …