preg_match υπάρχουν ελληνικά;

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

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

Απάντηση
Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27622
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

preg_match υπάρχουν ελληνικά;

Δημοσίευση από cordis » 13 Φεβ 2009 21:09

θέλω με ένα preg_match να μπορώ να ελέγξω εάν υπάρχει έστω κι ένας Ελληνικός χαρακτήρας σε ένα string, αλλά έχω κολλήσει... έχει κάποιος κάτι στο μυαλό του;

το string είναι σε utf-8...
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

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

preg_match υπάρχουν ελληνικά;

Δημοσίευση από fafos » 13 Φεβ 2009 21:16

me preg_match mporeis:

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

<?php
if &#40;preg_match&#40;"/φ/", "φαφος"&#41;&#41; &#123;
    echo "A match was found.";
&#125; else &#123;
    echo "A match was not found.";
&#125;
?>
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27622
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

preg_match υπάρχουν ελληνικά;

Δημοσίευση από cordis » 13 Φεβ 2009 21:56

το θέμα είναι ότι θέλω οποιοδήποτε ελληνικό γράμμα... κάτι σαν το [a-z] που έχουν στα αγγλικά.
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27622
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

preg_match υπάρχουν ελληνικά;

Δημοσίευση από cordis » 13 Φεβ 2009 22:01

τελικά νομίζω ότι παίζει με αυτό:

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

preg_match&#40; "/&#91;\x&#123;0370&#125;-\x&#123;03FF&#125;&#93;/u", $string&#41;
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

preg_match υπάρχουν ελληνικά;

Δημοσίευση από cpulse » 15 Φεβ 2009 13:41

Ψάχνεις και για utf8; Γιατί εκεί είναι ζευγάρια οι χαρακτήρες. Επίσης οι χαρακτήρες δεν είναι πάντα σε συνεχόμενη ακολουθία.

Εδώ είχα γράψει τους κωδικούς τους.. ίσως βοηθήσει.

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

preg_match υπάρχουν ελληνικά;

Δημοσίευση από cpulse » 15 Φεβ 2009 13:44

Χμμ.. εκείνο το thread λέει μόνο για το iso-8859-7.. στο win-1253 οι χαρακτήρες είναι οι ίδιοι απλά αντί για "\xB5", "\xB6" έχεις τους "\xA1", "\xA2".

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

preg_match υπάρχουν ελληνικά;

Δημοσίευση από cpulse » 15 Φεβ 2009 14:05

Ένα ένα τα θυμάμαι.. υπάρχουν και τα greek html entities. Κάποιοι rich editors (TinyMCE και τέτοια) βάζουν αυτά αντί για κανονικά Ελληνικά. Νομίζω και το Dreamweaver κάνει κάτι τέτοια μαγικά.

Βρές τα από το http://www.webatic.com/run/chars/html_entities.php στην ενότητα "Symbols and Greek characters".

dotoree
Δημοσιεύσεις: 16
Εγγραφή: 29 Ιαν 2009 10:51

preg_match υπάρχουν ελληνικά;

Δημοσίευση από dotoree » 20 Φεβ 2009 18:54

cordis έγραψε:θέλω με ένα preg_match να μπορώ να ελέγξω εάν υπάρχει έστω κι ένας Ελληνικός χαρακτήρας σε ένα string, αλλά έχω κολλήσει... έχει κάποιος κάτι στο μυαλό του;

το string είναι σε utf-8...
Για UTF-8 έχω δουλέψει με αυτό
http://sourceforge.net/projects/phputf8

το οποιό δεν θυμάμαι να μου έχει πρόβλημα με ελληνικά και πρέπει να έχει function για preg_replace

πχ παρακάτω μια συνάρτηση που μετατρέπει τονισμένους ελληνικούς κεφαλαίους χαρακτήρες σε μή τονισμένους. Κάνω χρήση της utf8_strtoupper απο το phputf8 και δουλεύει.

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

function utf8_greek_strtoupper&#40;$string&#41; &#123;
	$str = utf8_strtoupper&#40;$string&#41;;

	$sea = array&#40;"'Ά'u","'Έ'u","'Ί'u","'Ή'u","'Ό'u","'Ώ'u","'Ύ'u"&#41;;
	$rep = array&#40;"Α","Ε","Ι","Η","Ο","Ω","Υ"&#41;;
	return preg_replace&#40;$sea, $rep, $str&#41;;
&#125;

asteriosg
Δημοσιεύσεις: 75
Εγγραφή: 03 Οκτ 2012 16:24

preg_match υπάρχουν ελληνικά;

Δημοσίευση από asteriosg » 19 Δεκ 2012 19:52

cordis έγραψε:τελικά νομίζω ότι παίζει με αυτό:

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

preg_match&#40; "/&#91;\x&#123;0370&#125;-\x&#123;03FF&#125;&#93;/u", $string&#41;
Απο τη συζήτηση δεν κατάλαβα καλά, το παραπάνω έχει κάποιο πρόβλημα όταν η σελίδα μας είναι κωδικοποιημένη σε utf-8 ή όχι ;

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

preg_match υπάρχουν ελληνικά;

Δημοσίευση από jpk » 19 Δεκ 2012 20:44

Δεκτό αν δεν έχεις καταλάβει κάτι οπότε ξαναρώτησε παρόλα αυτά η απάντηση του cordis ήταν σαφή και τι δοκίμασες και δεν δούλεψε ;
Π.χ.

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

<?php
$string = "there is a house στον ανατέλλοντα ήλιο";
$f = preg_match&#40; "/&#91;\x&#123;0370&#125;-\x&#123;03FF&#125;&#93;/u", $string,$capture&#41;;
header&#40;'Content-Type&#58; text/html; charset=utf-8'&#41;; 
var_dump&#40;$f&#41;;
echo "<br/>";
var_dump&#40;$capture&#41;;
?>

asteriosg
Δημοσιεύσεις: 75
Εγγραφή: 03 Οκτ 2012 16:24

preg_match υπάρχουν ελληνικά;

Δημοσίευση από asteriosg » 20 Δεκ 2012 02:27

Απλά απο τις απαντήσεις που ακολούθησαν λέω μήπως και κάτι έπαιζε με utf-8.
Με αφορμή πάντως το συγκεκριμένο, αυτό δέχεται όλους τους ελληνικούς χαρακτήρες με τόνους και χωρίς αλλά και τις γραμμες _ - κλπ σωστά ;

Πως γίνεται να δέχεται μόνο τα ελληνικά γράμματα και οχι τις γραμμές και τα άλλα σύμβολα που δεν είναι ελληνικοί χαρακτήρες ( όπως _ - + / \ & % $ # @ ! ' και όσα άλλα υπάρχουν) ;

Απάντηση

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

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

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