假设我有一个这样的字符串:
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可能不会同时出现。
假设我有一个这样的字符串:
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可能不会同时出现。
这个怎么样:
$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), '|') . '/';