PHP birden çok sınırlayıcı bir dize bölmek nasıl?

3 Cevap php

"something here ; and there, oh,that's all!"

I ; ve , bunu bölmek istiyorum

böylece işleme sonra almalısınız:

something here

and there

oh

that's all!

3 Cevap

<?php

$pattern = '/[;,]/';

$string = "something here ; and there, oh,that's all!";

echo '<pre>', print_r( preg_split( $pattern, $string ), 1 ), '</pre>';

Güncelleştirilmiş bir soruya Güncelleme cevap:

<?php

$pattern = '/[\x{ff0c},]/u';

//$string = "something here ; and there, oh,that's all!";
$string = 'hei,nihao,a ';


echo '<pre>', print_r( preg_split( $pattern, $string ), 1 ), '</pre>';

Split () PHP funcition sınırlayıcı bir düzenli ifade olmasını sağlar. Ne yazık ki PHP6 olarak önerilmemektedir ve silinecektir

Preg_split () fonksiyonu Tamam olmalıdır, ve bir dizi döndürür:

$results = preg_split('[;,]/', $string);

ve yararlı olabilecek birkaç isteğe bağlı ekstra parametreler vardır.

Düzenlenen Örneğin aslında 2 baytlık Unicode karakter ilk ayırıcı karakter mi?

Belki preg_slit () function (Çin?) Unicode karakterleri arasında üç karakter ve bölme gibi 'karakter' sınırlayıcı davranıyor

Sen Devin's veya Meder's yöntemi kullanılarak bir diziye değerleri alabilirsiniz.

İstediğiniz çıktıyı elde etmek için, muhtemelen bu yapabileceğini

echo implode("\n", $resultingArray);

Ya da HTML ise <br /> İstediğiniz kullanın.