PHP Academy · Lektion

Opdeling og praktiske mønstre

Opdel strenge med preg_split, og opbyg almindelige valideringsmønstre.

Lektion 4 af 413 trin

Opdeling og praktiske mønstre er en gratis PHP Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i PHP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. PHP Academy-kurset indeholder 4 lektioner i alt.

Signaturen for preg_split()

preg_split($pattern, $subject, $limit, $flags) opdeler en streng efter en regex-afgrænser og returnerer et array med delstrenge.

Enkel opdeling

Opdel ved enhver sekvens af blanktegn.

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

Opdeling med begrænsning

Den tredje parameter begrænser, hvor mange dele der returneres. Den sidste del indeholder resten.

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

PREG_SPLIT_NO_EMPTY

Flaget PREG_SPLIT_NO_EMPTY fjerner tomme strenge fra resultatet — nyttigt, når inputdataene har efterfølgende afgrænsere.

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

PREG_SPLIT_DELIM_CAPTURE

Medtag afgrænseren (og dens fangede grupper) i resultatarrayet.

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

Mønster til e-mailvalidering

Et praktisk RFC-5322-lite-e-mail-regex:

<?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 til URL-validering

Validér http/https-URL'er.

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

Mønster til telefonnumre

Tillad en valgfri landekode samt bindestreger, punktummer eller mellemrum mellem grupper af cifre.

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

Mønster til adgangskodestyrke

Kræv mindst 8 tegn med ét stort bogstav, ét ciffer og ét specialtegn.

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

Mønster til IPv4-adresser

Validér en IPv4-adresse (hver oktet 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 til datoformat

Validér datostrengen 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

Opsummering

preg_split opdeler strenge efter et mønster. Der findes praktiske mønstre til e-mails, URL'er, telefonnumre og datoer — foretræk altid filter_var til standardtyper.

Hurtigt tjek

Hvilket flag fjerner tomme strenge fra resultaterne af preg_split?

Gratis at komme i gang

Lær PHP med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
49
Lektioner
195

Ofte stillede spørgsmål

Er lektionen “Opdeling og praktiske mønstre” gratis?

Ja — hele teksten til “Opdeling og praktiske mønstre” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af PHP Academy-kurset, skal du opgradere til CoddyKit PRO. PHP Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Opdeling og praktiske mønstre”?

Opdel strenge med preg_split, og opbyg almindelige valideringsmønstre. Du øver dig i PHP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på PHP Academy?

Der kræves ingen tidligere erfaring. PHP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Opdeling og praktiske mønstre”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne PHP Academy-lektion?

Ja. Alle PHP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Grundlæggende regex-syntaks
  2. Matchning med preg_match
  3. Erstatning af tekst med preg_replace
  4. Opdeling og praktiske mønstre
← Tilbage til PHP Academy