不要将字符类用于此使用或分隔器|
这应该为您提供正确的输出:
preg_split("/, | and /",$data)
给出以下输出:
Array
(
[0] => Rosemary J. Harris $^{1}$
[1] => Vladislav Popkov $^{2}$
[2] => Gunter M. Sch\"utz $^{3,}$*
)
题
我有这个字符串:
Rosemary J. Harris $^{1}$, Vladislav Popkov $^{2}$ and Gunter M. Sch\"utz $^{3,}$*
我会用逗号(,)或“和”字符串将其分开。
因此,结果应该是:
[0] -> Rosemary J. Harris $^{1}$
[1] -> Vladislav Popkov $^{2}$
[2] -> Gunter M. Sch\"utz $^{3,}$*
我尝试了这个:
$splitAuthors = preg_split('/[, ]+[ and ]/', $authors);
正在返回:
[0] -> Rosemary J. Harris $^{1}$
[1] -> Vladislav Popkov $^{2}$
[2] -> nd Gunter M. Sch\"utz $^{3,}$*
最后一个数组项目中有“ nd”。
谢谢您的帮助。
解决方案
不要将字符类用于此使用或分隔器|
这应该为您提供正确的输出:
preg_split("/, | and /",$data)
给出以下输出:
Array
(
[0] => Rosemary J. Harris $^{1}$
[1] => Vladislav Popkov $^{2}$
[2] => Gunter M. Sch\"utz $^{3,}$*
)
其他提示
[]
定义a 角色类. 。这些匹配一个字符,该字符可以是班级中的任何字符。因此,您正在寻找该点包含一个空间的弦点的位置 a
, , 一个 n
, ,或 d
. 。它不是在寻找世界的世界,“两边都有空间。你可能想要 ( and )
反而。