我有以下文本字符串:“园艺,园林绿化,足球,3D建模”
我需要PHP挑出 * 之前的字符串 * 短语,“足球"。
因此,无论干草堆的大小如何,代码将始终扫描短语'Football'并检索紧挨着它的文本。
以下是我到目前为止的尝试:
$haystack = "Swimming,Astronomy,Gardening,Rugby,Landscaping,Football,3D Modelling";
$find = "Football";
$string = magicFunction($find, $haystack);
echo $string; // $string would = 'Landscaping'
4条答案
按热度按时间ui7jx7zq1#
2cmtqfgy2#
cmssoen23#
也可以将偏移设置为与上一个偏移不同。
368yc8dk4#
您可以避免将分隔字符串拆分为数组的操作,而只需使用正则表达式提取搜索词之前的词。
preg_quote()
实际上并不需要与您的示例搜索词一起使用,但如果该词来自不受信任的来源,则是一个好主意。代码:(Demo)
如果未找到搜索项或没有前一项,则返回
null
。如果需要强制执行全字匹配,可以使用add(?:$|,)
to the end of the lookahead。