hasító vonalak

feladat
Meg kell osztania egy string részekre. Például arra, hogy hozzáférjenek az egyes vonalak, amelyek a felhasználói bemenetek formájában területen.

döntés
Ha az elválasztó darab sorok kiáll egy szövegben, azt kell alkalmazni felrobban () függvényt:

$ Szavak = explode ( '', 'My mondat nem túl bonyolult');

split () funkció vagy függvény preg_split () alkalmazunk, ha a leírás az elválasztó igényel POSIX reguláris kifejezés, vagy Perl:

$ Szavak = split ( „+”, „Ez a mondat van néhány üres területet is.”);
$ Szavak = preg_split ( '/ \ d \ /.', 'My nap: 1. felkelni 2. öltözz 3. enni pirítóst');
$ Lines = preg_split ( '/ [\ n \ r] + /', $ _ REQUEST [ 'textarea']);

Ez esetben érzékeny splitter alkalmazott spliti () funkció vagy flag / i preg_split () funkció:

$ Szavak = spliti ( 'x', '31 hüvelyk x 9 hüvelyk X 22 hüvelyk);
$ Szavak = preg_split ( '/ x / i', '31 hüvelyk x 22 hüvelyk x 9 hüvelyk);

megbeszélés
A legegyszerűbb megoldás az összes használatra felrobban () jelentése a korábbiakban megadott. Passzolj húr határoló húr önmagában kell osztani, és egy opcionális paraméter számának korlátozására vissza elemek:

$ Törpök = 'kábult, álmos, boldog, ingerlékeny, Sneezy, szemérmes, doc';
$ Dwarf_array = felrobban ( '', $ törpék);

Most a változó $ dwarf_array - egy sor hét elem:

Ha a megadott korlát kisebb, mint a számos lehetséges részből áll, az utolsó rész tartalmazza az összes többit:

$ Dwarf_array = felrobban ( '', $ törpék, 5);
print_r ($ dwarf_array);
sor
(
[0] => dopey
[1] => álmos
[2] => boldog
[3] => ingerlékeny
[4] => Sneezy, bashful, doc
)

felrobban () függvény kezeli a húr határoló szó.


Ha a string határoló definiáljuk egy vessző, majd egy szóközt, ez a funkció osztja a húr szóközöket következő tizedes pont, nem vessző vagy szóköz. split () függvény nagyobb rugalmasságot biztosít. Ahelyett, hogy egy string literál egy elválasztó, akkor használja a POSIX reguláris kifejezés:

$ More_dwarves = 'szemtelen Fatso, csoda fiú, vaskos, dörmögős, ittas, Winky';
$ More_dwarf_array = split (, $ more_dwarves '');

Ez a reguláris kifejezés osztja a húr egy vesszőt, majd egy opcionális hely, amely lehetővé helyesen azonosítani az összes új törpék. Így azok a terek, nevük ne ossza meg őket egymástól, de mindegyik név felszabadul, függetlenül attól, hogy vesszővel elválasztva „” vagy egy vesszőt, majd egy szóközt „”:

print_r ($ more_dwarf_array);
sor
(
[0] => pimasz
[1] => Fatso
[2] => csoda fiú
[3] => vaskos
[4] => dörmögős
[5] => groggy
[6] => Winkyt
)

Van preg_split () függvény, ami olyan, mint egy split () függvény egy Perl-kompatibilis reguláris kifejezések helyett a POSIX reguláris kifejezések.


preg_split () függvény nyújt a különböző ellátások kiterjesztett reguláris kifejezések Perl, valamint ravasz trükkök, mint például a felvétel a szöveget elválasztó a visszaadott tömböt:

A szeparátor egy reguláris kifejezés megkeresi matematikai műveletek (+, -, /, *), körülvéve opcionális szóközöket. PREG_SPLIT_DELIM_CAPTURE zászló azt mondja preg_split () függvény részeként el a mérkőzés-elválasztó reguláris kifejezés idézőjelbe a visszaadott string array. Az idézetek csak a szimbólumokat matematikai műveletek, így a visszaadott tömb nem tartalmazhat szóközt.

Kapcsolódó cikkek