سؤال

لدي هذه السلسلة:

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, ، و n, أو أ d. لا يبحث عن العالم "و" مع مسافات على كلا الجانبين. ربما تريد ( and ) في حين أن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top