2012-01-18 15 views
5

Mam długi ciąg składający się z serii zdań oddzielonych pojedynczym cudzysłowem.PHP eksploduje łańcuch używając wyrażenia regularnego

Przykład:

This\'s sentence number 1'This\'s sentence number 2' 

Zauważ, że ciąg ma apostrofów część samego zdania, które uciekły. Muszę rozbić łańcuch za pomocą pojedynczego cudzysłowu, ale nie w pojedynczym cudzysłowie.

Wyjście powinno być:

Array{ 
     [0]=>This\'s sentence number 1 
     [1]=>This\'s sentence number 2 
} 

Zasadniczo muszę eksplodować na ciąg { '}, ale nie {\'}. Z góry dzięki.

+0

Co o 'kończąc backslashem \\ 's uiae'? – knittl

+0

@knitti Nie mam kontroli nad podanym łańcuchem. Po prostu muszę to przeanalizować. – Songo

Odpowiedz

10

Spróbuj tego:

print_r(preg_split("/(?<!\\\)\'/", "This\'s sentence number 1'This\'s sentence number 2'")); 
+0

To zadziałało, ale co dokładnie robi operator Songo

+2

Negatywny widok z tyłu. – CSharpRU

Powiązane problemy