假设我有一个这样的字符串:
Ch #rob93 ajesop de kin #kin #kinnl 9 kunsho taffetas,bunughs rges,注意花期,parfaite aseref
我的分隔符数组可以是:
array('#kin', '#kinnl', '#xxx' );如何解析它以获得Ch #RoKamb93 93 ajesopdeB休斯子字符串?在#kin或#kinnl之前的子字符串
注意:#kin或#kinnl都不可能同时出现。
发布于 2013-09-05 10:45:44
这个怎么样:
$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如果分隔符包含保留的regex字符(如.或?),则需要对模式执行如下操作:
$pattern = '/' . implode(array_map('preg_quote', $delimiters), '|') . '/';https://stackoverflow.com/questions/18634023
复制相似问题