webForumDet fria alternativet

Bara a-z

6 svar · 811 visningar · startad av Asterix

AsterixMedlem sedan dec. 1999464 inlägg
#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 _.

SPiNMedlem sedan mars 20005 832 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 );
AsterixMedlem sedan dec. 1999464 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 åäö.

SPiNMedlem sedan mars 20005 832 inlägg
#4

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

learnMedlem sedan jan. 20051 143 inlägg
#5

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

åäö blir aao

ÅÄÖ blir ÅÄÖ

PeddaMedlem sedan juni 20004 880 inlägg
#6

Lägg till

$str = str_replace ( "Å", "a", $str );
$str = str_replace ( "Ä", "a", $str );
$str = str_replace ( "Ö", "o", $str );
MeleaMedlem sedan juli 20032 667 inlägg
#7

Even better

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

$str = str_replace($matcher, $replace, $str);
Genererad på 361 ms · cache AV · v20260730165559-full.f96bc7eb