PHP str_replace 使用数组的标签

PHP str_replace tags with using arrays

我有以下 str_replace 代码,它采用给定的注释字符串并用点替换任何实例,后跟 [++] 和带大写字母的单词 He。否则它将替换为没有大写字母的 he。

$comment = str_replace(array(". [++]","[++]"), array(". He","he"), $comment);

尽管这在大多数情况下都有效。如果我的评论字符串在句子开头有 [++] 标记,或者标记在一两个换行符之后,它就不起作用。仅当点位于标签旁边时才有效。

如果它在换行符之后或评论字符串开头的第一个标记之后,我有什么想法可以用大写的 He 替换吗?

试试 preg_replace() 函数 (http://php.net/manual/en/function.preg-replace.php):

$comment = preg_replace(
    array("~^\[\+\+\]~", "~(\.\s+)\[\+\+\]~", "~\[\+\+\]~"),
    array("He", "He", "he"),
    $comment
);