假设我有一个这样的字符串:
Ch#RoKamb93 ajesop de Bourg #kin #kinnl 9 kunsho taffetas,bunughs rges,note florale,parfaite aseref
我的分隔符数组可以是:
array('#kin', '#kinnl', '#xxx' );
如何获取 Ch#RoKamb93 ajesop de Bourg 子字符串?在 #kin 或 #kinnl
之前的子串注意: #kin 或 #kinnl 可能不会同时出现。
答案 0 :(得分:1)
这个怎么样:
$string = 'Ch #RoKamb93 ajesop de Bourg #kin #kinnl 9 kunsho taffetas,bunughs rges, note florale,parfaite aseref';
$delimiters = array('#kin', '#kinnl', '#xxx');
$pattern = '/' . implode($delimiters, '|') . '/';
$split = preg_split($pattern, $string);
var_dump($split); // $split[0] has what you need
如果您的分隔符包含保留的正则表达式字符(例如.
或?
),则您需要为该模式执行以下操作:
$pattern = '/' . implode(array_map('preg_quote', $delimiters), '|') . '/';