ugrás a tartalomhoz

Speciális karakterek eltávolítása, ékezettelenés

Johnny · 2008. Már. 8. (Szo), 17.25
Sziasztok!

Egy olyan függvényt, megoldást keresek, amely az oldalamon a felhasználó által beküldött stringet átalakítja úgy, hogy az összes ékezetes betűt átalakítja az angol abc-nek megfelelőre (á->a, ű->u, stb...), valamint az egyéb "speciális" karaktereket (pl. #,+"! stb) egyszerűen eltávolítja.

Ha van valakinek megoldása rá, akkor azt megköszönöm.
 
1

keresheted

DsA · 2008. Már. 8. (Szo), 17.47
szerintem kersheted :D mert szvsz nincs ilyen :D
erre maximum tudsz írni egy fgv-ttalán itt találsz vmit
http://www.prog.hu/kereses/?expr=%E9kezetek&ndid=4670&oc=20
2

Lehetne...

janoszen · 2008. Már. 8. (Szo), 17.59
Akár lehetne is. Egyébként nézz valami 7-bit aproximation algoritmus után, hátha át tudod alakítani.
5

De van

Joó Ádám · 2008. Már. 8. (Szo), 21.27
iconv('utf-8', 'ASCII//TRANSLIT//IGNORE', $character);
6

Jó tudni

Török Gábor · 2008. Már. 8. (Szo), 22.28
Mindig tanul az ember (:
3

str_replace, preg_replace

Török Gábor · 2008. Már. 8. (Szo), 18.22

// Input
$input_str = "árvíztűr?##őf!-úrógép";

$accented = array( "á", "é", "í", "ó", "ö", "ő", "ú", "ü", "ű" );
$mask = array( "a", "e", "i", "o", "o", "o", "u", "u", "u" );

// Ékezet csere
$output_str = str_replace( $accented, $mask, $input_str );
// Nem alfanumerikus törlése
$output_str = preg_replace("/[^\w]+/i", "", $output_str );

print( $output_str . "\n" ); // arvizturofurogep
4

Köszi

Johnny · 2008. Már. 8. (Szo), 18.45
Köszönöm szépen, rengeteget segítettél vele!
7

tagadás helyett

lacy · 2008. Már. 9. (V), 23.35
kis megjegyzés: ^\w helyett használhatunk \W -t is.

\w = any "word" character
\W = any "non-word" character

másrészt én az ékezettelenítést a következőképp végezném, sztem rövidebb...:
$input = "árvíztűrő tükörfúrógép";
print $input = strtr($input,"áéíöőóúüű","aeiooouuu"); //arvizturo tukorfurogep
8

[^\w...] != [\W...]

Török Gábor · 2008. Már. 9. (V), 23.57
Ebben az esetben éppenséggel használhatunk. Különbség, amiért a példában karakterosztállyal is adtam meg a szűrni kívánt karakterek halmazát (egyszerűen \W helyett), hogy így bővíthető. Tegyük fel, ha minden speciális karaktert plusz a kis "g" betűt is szeretnéd szűrni, akkor [^\wg]-re módosítod az osztályt, \W típussal már kényelmetlenebb, lévén a ^ metakarakter a teljes osztályt negálja, a \W pedig értelemszerűen csak a \w-t.
9

1*ű...http://sempai.web44.n

Dev.Null · 2013. Dec. 14. (Szo), 16.36
1*ű...

Link torolve - janoszen
10

Több, mint 5 éves témában

Pepita · 2013. Dec. 14. (Szo), 23.22
nagyon kellett neked egy, az oldaladra mutató link? :)

Küldenél inkább be komolyabb cikket, ha az "Ádámon is átmegy", már jelent valamit... Ez így viszont - szerintem - sima spam.
12

Netto hulyeseg

janoszen · 2013. Dec. 15. (V), 10.41
Amit irsz a blogpostodban netto hulyeseg. Ennel joval tobb fajta ekezetes betu van es igen, van olyan, hogy meg Magyar weboldalon is hasznaljak azokat, pl ha valaki nem Magyar billentyuzettel ir.
13

+1

Pepita · 2013. Dec. 15. (V), 11.37
Link torolve - janoszen
11

Azt hiszem, hogy az iconv

deejayy · 2013. Dec. 14. (Szo), 23.35