PHP Capitalize str_replace если после точки
У меня есть str_replace, который заменяет [++] словом He, но если [++] имеет точку и пробел перед ним или просто точку, то это должен быть He с большой буквы H, иначе это должен быть he строчными буквами ч.
$filterString = "[++] has performed well. [++] is showing good understanding";
echo str_replace("[++]", "Name", $filterString);
Какие-либо предложения?
Спасибо
3 ответа
Попробуйте следующий код:
$filterString = "[++] has performed well. [++] is showing good understanding";
echo str_replace(array(". [++]",".[++]","[++]"), array(". He",".He","he"), $filterString);
Мы можем использовать массивы в str_replace. Просто проверяю . [++]
, .[++]
сначала и заменить на He
Затем мы проверяем остатки и меняем их на he
,
Попробуй этот код сделать замену в два шага
$filterString = str_replace("\. [++]", ". He", $filterString);
echo str_replace("[++]", "he", $filterString);
Мы действительно можем использовать 1 str_replace()
:
$filterString = "[++] has performed well. [++] is showing good understanding";
echo str_replace(array('. [++]', '[++]'), array('. He', 'he'), $filterString);
какие выводы:
он хорошо выступил. Он показывает хорошее понимание
Примечание: другая функция ucfirst() предоставляет интересную функцию, которую вы, возможно, захотите использовать: она делает первый символ строки заглавным. Если вы хотите, чтобы первый символ каждого предложения был в верхнем регистре, вы можете разбить входной абзац с разделителем .
и использовать эту функцию, то implode()
это обратно с клеем .
,