PHP Academy · leksjon

Oppdeling og praktiske mønstre

Del opp strenger med preg_split og bygg vanlige valideringsmønstre.

Leksjon 4 av 413 trinn

Oppdeling og praktiske mønstre er en gratis leksjon i PHP Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i PHP Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i PHP Academy inneholder totalt 4 leksjoner.

Signaturen til preg_split()

preg_split($pattern, $subject, $limit, $flags) deler en streng etter en regex-avgrensning og returnerer en matrise med delstrenger.

Enkel splitting

Del ved enhver sekvens med mellomromstegn.

<?php
$words = preg_split('/\s+/', "Hello   World\tFoo");
print_r($words); // ["Hello", "World", "Foo"]

Splitting med grense

Den tredje parameteren begrenser hvor mange deler som returneres. Den siste delen inneholder resten.

<?php
$parts = preg_split('/,\s*/', "a, b, c, d", 3);
print_r($parts); // ["a", "b", "c, d"]

PREG_SPLIT_NO_EMPTY

Flagget PREG_SPLIT_NO_EMPTY fjerner tomme strenger fra resultatet – nyttig når inndataene har etterfølgende avgrensere.

<?php
$parts = preg_split('/,/', "a,,b,,c", -1, PREG_SPLIT_NO_EMPTY);
print_r($parts); // ["a", "b", "c"]

PREG_SPLIT_DELIM_CAPTURE

Ta med avgrensningen (og de fangede gruppene) i resultatmatrisen.

<?php
$parts = preg_split('/(,)/', "a,b,c", -1, PREG_SPLIT_DELIM_CAPTURE);
print_r($parts); // ["a", ",", "b", ",", "c"]

Mønster for e-postvalidering

Et praktisk e-postregex i RFC-5322-light:

<?php
function validEmail(string $s): bool {
    return (bool) preg_match(
        '/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/',
        $s
    );
}

Mønster for URL-validering

Valider http/https-URL-er.

<?php
function validUrl(string $s): bool {
    return (bool) preg_match(
        '#^https?://[\w\-]+(\.[\w\-]+)+(/[^\s]*)?$#i',
        $s
    );
}

Mønster for telefonnumre

Tillat valgfri landskode samt bindestreker, punktum eller mellomrom mellom siffergrupper.

<?php
$pattern = '/^\+?[1-9]\d{0,2}[\s\-.]?\d{3}[\s\-.]?\d{4,7}$/';
preg_match($pattern, '+1 800 555-1234', $m);

Mønster for passordstyrke

Krev minst 8 tegn, med én stor bokstav, ett siffer og ett spesialtegn.

<?php
function strongPassword(string $p): bool {
    return preg_match('/^(?=.*[A-Z])(?=.*\d)(?=.*[^\w]).{8,}$/', $p);
}

Mønster for IPv4-adresser

Valider en IPv4-adresse (hver oktett fra 0 til 255).

<?php
$ipv4 = '/^(25[0-5]|2[0-4]\d|[01]?\d\d?)(\.(25[0-5]|2[0-4]\d|[01]?\d\d?)){3}$/';

Mønster for datoformat

Valider datostrenger i formatet YYYY-MM-DD.

<?php
$date = '/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/';
var_dump((bool) preg_match($date, '2025-06-15')); // true

Sammendrag

preg_split deler strenger etter et mønster. Det finnes praktiske mønstre for e-postadresser, URL-er, telefonnumre og datoer – foretrekk alltid filter_var for standardtyper.

Hurtigsjekk

Hvilket flagg fjerner tomme strenger fra resultatene til preg_split?

Gratis å komme i gang

Lær deg PHP med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
49
Leksjoner
195

Ofte stilte spørsmål

Er leksjonen «Oppdeling og praktiske mønstre» gratis?

Ja – hele teksten i «Oppdeling og praktiske mønstre» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av PHP Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i PHP Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Oppdeling og praktiske mønstre»?

Del opp strenger med preg_split og bygg vanlige valideringsmønstre. Du øver på PHP Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med PHP Academy?

Ingen tidligere erfaring er nødvendig. PHP Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Oppdeling og praktiske mønstre»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne PHP Academy-leksjonen?

Ja. Alle PHP Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Grunnleggende regex-syntaks
  2. Samsvarssøk med preg_match
  3. Erstatte tekst med preg_replace
  4. Oppdeling og praktiske mønstre
← Tilbake til PHP Academy