PHP:
Slette tegn som matcher et mønster
Slik gjør du:
For å slette tegn som matcher et mønster i PHP, brukes ofte preg_replace
funksjonen med et regulært uttrykk.
<?php
$tekst = "Hei! Hvordan går det med deg? :) #php";
$pattern = '/[^a-zA-Z0-9\s]/';
// Sletter alle tegn unntatt bokstaver, tall og mellomrom
$renset_tekst = preg_replace($pattern, '', $tekst);
echo $renset_tekst; // Output: "Hei Hvordan gr det med deg "
?>
Dykk Dypt:
Historisk sett kommer sletting av tegn fra behovet for å behandle og validere inndata. Tidligere språk hadde lignende funksjoner, men PHP’s preg_replace
kommer med kraften av Perl-lignende regulære uttrykk (PCRE), som ble introdusert i PHP 4.
Alternativer til preg_replace
inkluderer str_replace
, som ikke bruker regulære uttrykk og kun erstatter spesifikke strenger, og filter_var
med FILTER_SANITIZE_STRING
flagg for enklere behov.
Når det gjelder implementasjonsdetaljer, finner preg_replace
mønstre ved hjelp av et regulært uttrykk og erstatter dem med et annet teken eller en tom streng (for å slette). Regulære uttrykk kan være komplekse, men de er svært kraftfulle for string-manipulasjon.
Se Også:
- PHP.net manualen på
preg_replace
: https://www.php.net/manual/en/function.preg-replace.php - Tutorial på regulære uttrykk i PHP: https://www.phptutorial.net/php-tutorial/php-regular-expressions/
- PHP.net manualen på
str_replace
: https://www.php.net/manual/en/function.str-replace.php - PHP.net manualen på
filter_var
: https://www.php.net/manual/en/function.filter-var.php