[/ kod]
`[^A-Za-z0-9]` obrazac je ono što je poznato kao regularni izraz. Odgovara bilo kojem znaku koji nije slovo ili cifra.]
Prvi korak u razumijevanju koda je znati svrhu svakog elementa:
preg_replace funkcija
Funkcija `preg_replace` se koristi za izvođenje podudaranja i zamjene uzorka. Potrebna su tri parametra: obrazac za traženje, string kojim će se zamijeniti i ulazni niz.
Regularni izrazi
Regularni izraz je niz znakova koji formira obrazac pretraživanja. Kada tražite podatke u tekstu, možete koristiti ovaj obrazac pretraživanja da opišete ono što tražite.
- U ovom slučaju koristimo `[^A-Za-z0-9]`.
- Zagrade označavaju skup znakova, ali znak (^) unutar zagrada negira skup, što znači da će odgovarati bilo kojem znaku KOJI NE nalazi u skupu.
- A-Za-z0-9 unutar zagrada predstavlja sva velika slova, sva mala slova i sve brojeve.
Dakle, `[^A-Za-z0-9]` će odgovarati bilo kojem nealfanumeričkom znaku. A kada se koristi s funkcijom `preg_replace`, učinkovito će ukloniti sve nealfanumeričke znakove.
Dodatna razmatranja za SEO i korisničko iskustvo
Ako generirate puževe ili na neki drugi način trebate sačuvati razmake, preporučuje se da razmake zamijenite znakom poput crtice (-) umjesto da ih potpuno uklonite. Ovo se može učiniti pomoću funkcije `str_replace`:
<?php
$string = "Hello, World!";
$string = str_replace(' ', '-', $string); // "Hello,-World!"
$string = preg_replace("/[^A-Za-z0-9 -]/", '', $string); // "Hello-World"
echo $string;
?>
Ovaj kod prvo zamjenjuje sve razmake crticama prije uklanjanja nealfanumeričkih znakova, efektivno čuvajući razmake kao crtice radi bolje čitljivosti i SEO-a.