문제

이 문자열이 있습니다.

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"가 있습니다.

도와 주셔서 감사합니다.

도움이 되었습니까?

해결책

이 사용을 위해 문자 클래스를 사용하지 마십시오. 또는 Seperator |

이것은 당신에게 올바른 출력을 제공해야합니다.

preg_split("/, | and /",$data)

다음 출력을 제공합니다.

Array
(
    [0] => Rosemary J. Harris $^{1}$
    [1] => Vladislav Popkov $^{2}$
    [2] => Gunter M. Sch\"utz $^{3,}$*
)

다른 팁

[] 정의 a 캐릭터 클래스. 이것들은 단일 캐릭터와 일치하며, 그 캐릭터는 수업의 캐릭터 중 하나 일 수 있습니다. 그래서 당신은 그 지점이 공간, a, an n,, a d. 그것은 세상을 찾고 있지 않습니다 "와"양쪽에 공간이 있습니다. 당신은 아마 원할 것입니다 ( and ) 대신에.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top