如果是特定字符,如何选择单词的所有开头字符


How to select all beginning character of the words if it was specific character?

我真正的问题是关于波斯语(从右到左方向),但为了简化,我把英文版本写在前面:

我有这个字符串:

$str = 'it is a test, also i like this word: "italic"';

现在我要删除单词开头的所有i字符。像这样:

$newstr = 't s a test, also like this word: "italic"';

这也是我的真实版本:

$str = 'امروز هوا خوب است ولی دیروز خوب نبود و ویران کننده بود';

我想要这样:(我想要删除单词开头的所有و字符。应该注意的是,正如我所说,波斯语从右开始)

$newstr = 'امروز هوا خوب است لی دیروز خوب نبود یران کننده بود';

这是我的尝试:

echo preg_replace('/و/u', '', $str);
//=> امرز ها خب است لی دیرز خب نبد یران کننده بد

如你所见,我需要定义只是删除و字符,如果它在单词的开头。我该怎么做呢?

注意: '/'bو/u'不工作,因为波斯语从右侧开始。

/(?<=^|'s)i/

/(?<=^|'s)و/

检测前面有start of linespacei/و。或者如果从右到左让它反过来工作(lookahead)

/i(?=$|'s)/

问候。