我有一个str_replace用单词He替换[++],但是如果[++]在它之前有一个点和空格,或者只是一个点,那么它应该是一个带有大写字母H的He,否则它应该是是一个小写的人。
$filterString = "[++] has performed well. [++] is showing good understanding";
echo str_replace("[++]", "Name", $filterString);
有什么建议吗?
由于
答案 0 :(得分:2)
请尝试以下代码:
$filterString = "[++] has performed well. [++] is showing good understanding";
echo str_replace(array(". [++]",".[++]","[++]"), array(". He",".He","he"), $filterString);
我们可以在str_replace中使用数组。只需首先检查. [++]
,.[++]
并替换为He
,然后检查余数并将其更改为he
。
答案 1 :(得分:0)
尝试使用此代码进行两步替换
$filterString = str_replace("\. [++]", ". He", $filterString);
echo str_replace("[++]", "he", $filterString);
答案 2 :(得分:0)
我们实际上可以使用1 str_replace()
:
$filterString = "[++] has performed well. [++] is showing good understanding";
echo str_replace(array('. [++]', '[++]'), array('. He', 'he'), $filterString);
输出:
他的表现很好。他表现出很好的理解
侧注:另一个函数ucfirst()提供了您可能想要使用的有趣函数:它使字符串的第一个字符为大写。如果你希望每个句子的第一个字符都是大写字母,你可以用分隔的.
来展开你的输入段落并使用这个函数,然后implode()
用胶水.
来回复它。