PHP Preg_split_once

3 Cevap php

Preg_match gives one match. Preg_match_all returns all matches. Preg_split returns all splits.

Nasıl ben sadece ilk maçı ayırabilirsiniz?

Örnek:

preg_split ("~ \ n ~", $ string);

Bu ne istiyorsunuz:

array (0 => 'ilk parça', 1 => 'daha fazla bölünme olmadan dizenin kalan')

3 Cevap

Dizinin 2 parça için 2 Basitçe set $ limiti. Söz için Ben James teşekkürler:

preg_split("~\n~",$string, 2);

Ben test edilmiş ve gayet iyi çalışıyor.

Sınırı argüman:

If specified, then only substrings up to limit are returned with the rest of the string being placed in the last substring. A limit of -1, 0 or null means "no limit" and, as is standard across PHP, you can use null to skip to the flags parameter.

Update:

Sadece yeni hat ise bölmek istediğiniz:

$fp = strpos($string,"\n");
$arr = new array(substr($string,0,$fp), substr($string,$fp));

Yoksa yapabilirsiniz üzerinde ısrar preg_split();:

$fp = strpos($string,"\n");
$arr = preg_split("~\n~",$string,$fp);

Hiçbir preg_split_once() veya herhangi bir karşılığı yoktur.

Sadece sınır bayrağı eklemek

preg_split("~\n~", $string, 2);

manual Gönderen

If specified, then only substrings up to limit are returned with the rest of the string being placed in the last substring.

Ben bu konuda test etmek için bir sunucu yok. Deneyin:

preg_split("~\n~",$string,1);

1 sınırı temsil eder:

Limit: If specified, then only substrings up to limit are returned with the rest of the string being placed in the last substring. A limit of -1, 0 or null means "no limit" and, as is standard across PHP, you can use null to skip to the flags parameter.