我导入的xml中有一部分不是按常规顺序导入的。例如:
87||1|#88|2|#89||2|50198#41||1|#3||117#20||#6|20|1|#24||78#145|5|#36|||90#37|||96#29||||67#26|||17||#25|||
我创建了这样一个函数:function caratteristiche1($title) {
$title=substr($title,11,1);
return $title;
}
以接收#88的值,但有时#88不在该位置并且其他时间#88不存在。我想使用一个函数来搜索#88,并给出2个子管道之后的值。
我能做什么?非常感谢!
如果#88和两个管道之间的距离在所有情况下都相同,则可以使用带有"正向查找断言"的正则表达式,请参阅http://php.net/manual/en/regexp.reference.assertions.php
如果没有,您可能需要使用普通PHP来定位#88,然后从那里获取剩余的子字符串并搜索这两个管道。
在回答"否"后编辑:在这种情况下,我不会和RegEx合作。试试这样的东西(可能不是100%准确的语法):
$pos88 = strpos('#88', $string);
newStr = substr($string, $pos88);
$posPipes = strpos('||', $newStr);
// ... and so forth ...