我的代码中有一个大字符串。我的目标是根据开始和结束分隔符提取此字符串的一小部分(很少)。
实际上我是这样做的:
$string = "....";
$parts = explode($startDel, $string);
$parts = explode($endDel, $parts[1]);
$finalStr = $parts[0];
由于这部分代码将被调用越来越多次,我不知道使用explode是否是正确的方法。所以我对你的想法持开放态度。
非常感谢, 再见
答案 0 :(得分:0)
您可以使用第三个参数explode
,以确保它只创建两个元素,而不在其余字符串中搜索分隔符。
然而,对于简单的strpos
和substr
来说,它看起来是完美的任务。实现此功能的示例函数:
function str_extract($string, $start = '[', $end = ']', $offset = 0) {
$pos_start = strpos($string, $start, $offset) + strlen($start);
$pos_end = strpos($string, $end, $pos_start);
return substr($string, $pos_start, $pos_end - $pos_start);
}