【发布时间】:2015-10-20 09:43:18
【问题描述】:
我真正的问题是关于波斯语(从右到左方向),但为了简单起见,我首先写的是英文版:
我有这个字符串:
$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' 不起作用,因为波斯语从右侧开始。
【问题讨论】:
-
那么,如果从右边开始,试试
'/ای\b/u'。 -
@stribizhev 其实我已经测试过了,不知道为什么不行。
-
它工作...phpliveregex.com/p/di6
-
我也认为它的工作方式和你写的一样,但我想你只是想替换它后面的可选空格:
echo preg_replace('/\bو\s*/u', '', $str)。 -
@Salketer 这是输出:
امروز هوا خوب است ولی دیروز خوب نبود و ویران کننده بود。所以它不起作用。