Biten bir çizgi yerine çapraz platform regex nedir?

3 Cevap php

I "foo\nbar" gibi bir dize var, ancak platforma bağlı olarak, o "foo\n\rbar" olmak, ya da her neyse olabilir. I ", " ile yeni hatlar değiştirmek istiyor. Benim için yapacağım bir güzel (php) regex var mı?

3 Cevap

Düzenli ifade deneyin (?:\r\n|[\r\n]):

preg_replace('/(?:\r\n|[\r\n])/', ', ', $str)

Böyle basit bir değiştirme için bir Regex kullanmak istemiyorum. Düzenli dize değiştirme fonksiyonları genellikle daha hızlıdır. Satır sonu için, OS aware constant PHP_EOL , örneğin kullanabilirsiniz

str_replace(PHP_EOL, ', ', $someString);

Windows'da bu yerini alacak \r\n. Mac'te \r ve diğer tüm sistemlerde \n.

str_replace(array("\n", "\r"), "", $string) işe yaramaz?