webForumDet fria alternativet

Bara a-z

PHPur PHP

6 svar · 811 visningar · startad av Asterix

Medlem sedan dec. 1999483 inlägg
Frågan#1

Jag vet att liknade saker varit uppe innan, men jag kunde hitta något när jag sökte.

Jag har en stäng som är: Är dett#!a rätt2

Jag vill att detta ska bli: ar_detta_ratt2

Alla bokstäver ska vara lower. Bara bokstäver och siffror ska godkännas. åäö ska bytas ut till aao och mellanslag ska bli _.

Medlem sedan mars 20007 896 inlägg
#2

Något sånt här kanske:

$str = strtolower ( $str );
$str = preg_replace ( "'(^[a-z0-9])'is", "", $str );
$str = str_replace ( " ", "_", $str );
$str = str_replace ( "å", "a", $str );
$str = str_replace ( "ä", "a", $str );
$str = str_replace ( "ö", "o", $str );
Medlem sedan dec. 1999483 inlägg
#3

Det borde funka om man ändrar ordning. Kan ju inte ta bort alla tecken utom a-z och 0-9 och sen ersätta mellanslag med _. Samma sak gäller ju åäö.

Medlem sedan mars 20007 896 inlägg
#4

Word, det tänkte jag inte på. :)

Medlem sedan jan. 20051 130 inlägg
#5

Den byter ju inte ut å,ä och ö ifall de är versaler...!!??

åäö blir aao

ÅÄÖ blir ÅÄÖ

Medlem sedan juni 20006 032 inlägg
#6

Lägg till

$str = str_replace ( "Å", "a", $str );
$str = str_replace ( "Ä", "a", $str );
$str = str_replace ( "Ö", "o", $str );
Medlem sedan juli 20033 147 inlägg
#7

Even better

$matcher = array("å", "ä", "ö", "Å", "Ä", "Ö", " ");
$replace = array("a", "a", "o", "A", "A", "O", "_");

$str = str_replace($matcher, $replace, $str);
131 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)