Εναλλακτική στην strtoupper

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εναλλακτική στην strtoupper

Δημοσίευση από Apostolis_38 » 06 Μαρ 2009 15:41

Καλησπέρα σε όλους.
Τα φώτα σας παρακαλώ :D

Επειδή η strtoupper δεν δουλεύει με τα Ελληνικά, σκέφτομαι να φτιάξω ένα scriptάκι το οποίο θα καλώ με include και θα κάνει αντικατάσταση χαρακτήρων από μικρά σε κεφαλαία.
Είναι καλύτερα να κάνω την αντικατάσταση με str_replace ή με ereg_replace;
Τα γράμματα θα "λαμβάνονται" απο $_POST.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6228
Εγγραφή: 30 Νοέμ 2004 03:09

Εναλλακτική στην strtoupper

Δημοσίευση από fafos » 06 Μαρ 2009 16:10

Apostolis_38 έγραψε:Καλησπέρα σε όλους.
Τα φώτα σας παρακαλώ :D

Επειδή η strtoupper δεν δουλεύει με τα Ελληνικά, σκέφτομαι να φτιάξω ένα scriptάκι το οποίο θα καλώ με include και θα κάνει αντικατάσταση χαρακτήρων από μικρά σε κεφαλαία.
Είναι καλύτερα να κάνω την αντικατάσταση με str_replace ή με ereg_replace;
Τα γράμματα θα "λαμβάνονται" απο $_POST.
ti encoding xrhsimopoieis? UTF-8 h ISO-8859-7?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εναλλακτική στην strtoupper

Δημοσίευση από Apostolis_38 » 06 Μαρ 2009 16:24

utf-8

Αν αναφέρεσαι στην setlocale δοκίμασα αλλά δεν έπαιζε με τίποτα.
Εξάλλου δεν θέλω να εξαρτιέμαι απο τις ρυθμίσεις του server. Πιστεύω πως με τον τρόπο που σκέφτομαι είναι καλύτερα γιατί το string θα περνάει με κεφαλαία βρέξει χιονίσει.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Εναλλακτική στην strtoupper

Δημοσίευση από korgr » 06 Μαρ 2009 18:05

Παλια που ειχα χρειαστει κατι παρομοιο ειχα αυτο:

Κώδικας: Επιλογή όλων

setlocale (LC_CTYPE, "greek");
function upper ($string){
$string=eregi_replace("ΐ","ϊ",$string);
$string=eregi_replace("ΰ","ϋ",$string);
$string=eregi_replace("ά","Α",$string);
$string=eregi_replace("ό","Ο",$string);
$string=eregi_replace("ί","Ι",$string);
$string=eregi_replace("έ","Ε",$string);
$string=eregi_replace("ώ","Ω",$string);
$string=eregi_replace("ή","Η",$string);
$string=eregi_replace("ύ","Υ",$string);
$string=eregi_replace("ς","Σ",$string);
$string=strtoupper($string);
return $string;
}
Δουλευε με windows-1253
Με UTF-8 δεν το εχω δοκιμασει...

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εναλλακτική στην strtoupper

Δημοσίευση από Apostolis_38 » 06 Μαρ 2009 18:15

Ευχαριστώ korgr.

Κάτι τέτοιο σκεφτόμουν κι εγώ, απλώς θα ορίσω ένα - ένα τα γράμματα που πρέπει να γίνουν replace. Νομίζω πως αν γίνει έτσι δεν παίζει ρόλο το setlocale απο τη στιγμή που παίρνεις έναν utf-8 χαρακτήρα και τον μετατρέπεις πάλι σε utf-8 αλλά κεφαλαίο.

Η απορία μου ήταν μήπως είναι καλύτερα να ορίσω κάτι σε στύλ:

Κώδικας: Επιλογή όλων

string = "αβγδε"
str_replace ("ΑΒΓΔ")
Φυσικά όχι με αυτή ακριβώς τη σύνταξη :D

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6228
Εγγραφή: 30 Νοέμ 2004 03:09

Εναλλακτική στην strtoupper

Δημοσίευση από fafos » 06 Μαρ 2009 18:49

Apostolis_38 έγραψε:Ευχαριστώ korgr.

Κάτι τέτοιο σκεφτόμουν κι εγώ, απλώς θα ορίσω ένα - ένα τα γράμματα που πρέπει να γίνουν replace. Νομίζω πως αν γίνει έτσι δεν παίζει ρόλο το setlocale απο τη στιγμή που παίρνεις έναν utf-8 χαρακτήρα και τον μετατρέπεις πάλι σε utf-8 αλλά κεφαλαίο.

Η απορία μου ήταν μήπως είναι καλύτερα να ορίσω κάτι σε στύλ:

Κώδικας: Επιλογή όλων

string = "αβγδε"
str_replace ("ΑΒΓΔ")
Φυσικά όχι με αυτή ακριβώς τη σύνταξη :D
h str_replace thelei akrivos to string gia na kanei thn metatroph opote prepei na kathe string na grapseis kai ena str_replace... h php exei thn strtr alla antimetopizei kapoia provlhmata me ta Ellhnika UTF-8:

Κώδικας: Επιλογή όλων

$_POST[kati] = strtr($_POST[kati],"αβγδεζηθικλμνξοπρσςτυφχψωάέήίόύώΆΈΉΊΌΎΏ","ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΣΤΥΦΧΨΩΑΕΗΙΟΥΩΑΕΗΙΟΥΩ");
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Εναλλακτική στην strtoupper

Δημοσίευση από ThyClub » 06 Μαρ 2009 19:09

Αυτό ίσως σε βοηθήσει:

Κώδικας: Επιλογή όλων

$ellhnika = array(
'α'=>'Α',
'β'=>'Β',
...
...
...
'ω'=>'Ω'
);

$search = array_keys( $ellhnika);
 $text = str_replace( $search, $ellhnika, $text );

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Εναλλακτική στην strtoupper

Δημοσίευση από panosru » 07 Μαρ 2009 16:30

tsekare to locale pou exeis setarei ston server kai enalaktika dokimase thn mb_ strtoupper

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εναλλακτική στην strtoupper

Δημοσίευση από Apostolis_38 » 09 Μαρ 2009 13:03

Να σας ευχαριστήσω όλους κατ' αρχάς.
Βρήκα πιο εύκολο το scriptάκι του ThyClub και έπαιξε αμέσως.

panosru: o server δεν είναι "δικός μου", εγώ απλώς κάνω upload τα αρχεία, οπότε δεν μπορώ να λέω στον άλλον άλλαξε εκείνο, φτιάξε το άλλο, παρά μόνο αν δεν γίνεται αλλιώς. Κι αυτή ήταν η κεντρική ιδέα, να μην εξαρτιέμαι απο τις ρυθμίσεις του, εκάστοτε, server, όσο είναι δυνατόν.
Πάντως την mb_ strtoupper την είχα τσεκάρει ούτως ή άλλως και δεν έπαιζε ούτε αυτή.

Και πάλι σας ευχαριστώ όλους.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Εναλλακτική στην strtoupper

Δημοσίευση από panosru » 09 Μαρ 2009 15:11

Den uparxei problhma afou brhkes thn lush tote ok. Nai to na mhn uposthrizei kapoia must o server einai problhma ontos.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης