Πρόβλημα με regular expression

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

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

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από gvre » 23 Ιουν 2012 20:32

Πρόσθεσε και το

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

curl_setopt($login, CURLOPT_SSL_VERIFYPEER, false);
μαζί με τα υπόλοιπα options.

poscore
Δημοσιεύσεις: 63
Εγγραφή: 06 Μάιος 2012 02:48
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από poscore » 23 Ιουν 2012 20:34

gvre έγραψε:Το echo $grades_data; δεν εμφανίζει κάτι;
Σορρυ αυτό το είχα ξεχάσει με τόσες σκοτούρες...αυτό εμφανίζει μια χαρά το αποτέλεσμα. Είναι πολύ μεγάλη σελίδα για να την κάνω paste εδώ αλλα δες το παραδειγμα παραπάνω. Κάπως έτσι είναι το κομμάτι που μου επιστρέφεται. είχα προβλημα με το encoding αλλα το έφτιαξα. Προσπάθησα να το κάνω output σε αρχείο αλλα στα ελληνικά έχει πρόβλημα με το encoding.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από gvre » 23 Ιουν 2012 23:11

Αν μπορείς, αποθήκευσε τη σελίδα ως html και κάνε τη attach εδώ.

poscore
Δημοσιεύσεις: 63
Εγγραφή: 06 Μάιος 2012 02:48
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από poscore » 24 Ιουν 2012 11:03

gvre έγραψε:Αν μπορείς, αποθήκευσε τη σελίδα ως html και κάνε τη attach εδώ.
Το έκανα :)
Συνημμένα
output.txt
output of curl
(44.11 KiB) Μεταφορτώθηκε 80 φορές

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από gvre » 24 Ιουν 2012 13:42

Αποθήκευσε το output.txt κάπου, φτιάξε ένα php με τον παρακάτω κώδικα στον ίδιο φάκελο και τρέξε το. Σε εμένα λειτουργεί μια χαρά. Αν δεν παίξει, στείλε ένα output από την phpinfo() και τον κώδικά σου (attached) χωρίς το username και password.

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

<?php
$grades_data = file_get_contents&#40;"output.txt"&#41;;
$grades_data = str_replace&#40;'<tr', "\n<tr", $grades_data&#41;; 

if &#40;preg_match_all&#40;'/><td colspan="2" valign="top" class="topBorderLight">\&#40;.*&#40;&#91;0-9&#93;&#123;3&#125;&#41;\&#41; .*<span class="redfonts" \/><\/td>/', $grades_data, $matches&#41;&#41; &#123; 
        print_r&#40;$matches&#41;;
&#125;else&#123; 
        echo "Huston we have a problem!";
&#125; 

poscore
Δημοσιεύσεις: 63
Εγγραφή: 06 Μάιος 2012 02:48
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από poscore » 24 Ιουν 2012 14:00

gvre έγραψε:Αποθήκευσε το output.txt κάπου, φτιάξε ένα php με τον παρακάτω κώδικα στον ίδιο φάκελο και τρέξε το. Σε εμένα λειτουργεί μια χαρά. Αν δεν παίξει, στείλε ένα output από την phpinfo() και τον κώδικά σου (attached) χωρίς το username και password.

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

<?php
$grades_data = file_get_contents&#40;"output.txt"&#41;;
$grades_data = str_replace&#40;'<tr', "\n<tr", $grades_data&#41;; 

if &#40;preg_match_all&#40;'/><td colspan="2" valign="top" class="topBorderLight">\&#40;.*&#40;&#91;0-9&#93;&#123;3&#125;&#41;\&#41; .*<span class="redfonts" \/><\/td>/', $grades_data, $matches&#41;&#41; &#123; 
        print_r&#40;$matches&#41;;
&#125;else&#123; 
        echo "Huston we have a problem!";
&#125; 
OX :O

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

Array &#40; &#91;0&#93; => Array &#40; &#91;0&#93; => >&#40;???109&#41; Ge???? F?s??? ? &#91;1&#93; => >&#40;???105&#41; ?pe???st???? ????s&#181;?? ? &#91;2&#93; => >&#40;???106&#41; ??sa???? st?? ?????a&#181;&#181;at?s&#181;? &#91;3&#93; => >&#40;???104&#41; ?fa?&#181;?s&#181;??? G?a&#181;&#181;??? ???e&#223;?a &#91;4&#93; => >&#40;???108&#41; ??sa???? st??? ?/? &#91;5&#93; => >&#40;???111&#41; ??????? ? &#91;6&#93; => >&#40;???201&#41; Ge???? F?s??? ?? &#91;7&#93; => >&#40;???205&#41; ?pe???st???? ????s&#181;?? ?? &#91;8&#93; => >&#40;???208&#41; ?????a&#181;&#181;at?s&#181;?? se C &#91;9&#93; => >&#40;???210&#41; ??a???t? ?a??&#181;at??? &#91;10&#93; => >&#40;???209&#41; ??f?a?? S?ed??s? &#91;11&#93; => >&#40;???211&#41; ??????? ?? &#91;12&#93; => >&#40;???301&#41; ???a??t?te? &#91;13&#93; => >&#40;???302&#41; ??&#181;?? ?ed?&#181;???? &#91;14&#93; => >&#40;???304&#41; ????? G??ss?? ?????a&#181;&#181;at?s&#181;?? &#91;15&#93; => >&#40;???307&#41; ????te?t????? ?p?????st?? &#91;16&#93; => >&#40;???409&#41; ??t??e?&#181;e??st?ef?? ?????a&#181;&#181;at?s&#181;?? &#91;17&#93; => >&#40;???401&#41; ??sa???? st?? ????&#181;?t??? ?????s? &#91;18&#93; => >&#40;???402&#41; S?ed?as? ?a? ?????s? ???????&#181;?? &#91;19&#93; => >&#40;???407&#41; Te???a ?p?????s&#181;?? &#91;20&#93; => >&#40;???405&#41; ?e?t??????? S?st?&#181;ata &#91;21&#93; => >&#40;???501&#41; ?p?????st??? ?a??&#181;at??? &#91;22&#93; => >&#40;???509&#41; S?&#181;ata ?a? S?st?&#181;ata &#91;23&#93; => >&#40;???508&#41; ??se?? ?ed?&#181;???? &#91;24&#93; => >&#40;???065&#41; ?s??&#181;ata ???t?a &#91;25&#93; => >&#40;???904&#41; ???????? &#91;26&#93; => >&#40;???606&#41; ???t?a ?p?????st?? &#91;27&#93; => >&#40;???604&#41; ?e???t? ???&#181;?s??? &#41; &#91;1&#93; => Array &#40; &#91;0&#93; => 109 &#91;1&#93; => 105 &#91;2&#93; => 106 &#91;3&#93; => 104 &#91;4&#93; => 108 &#91;5&#93; => 111 &#91;6&#93; => 201 &#91;7&#93; => 205 &#91;8&#93; => 208 &#91;9&#93; => 210 &#91;10&#93; => 209 &#91;11&#93; => 211 &#91;12&#93; => 301 &#91;13&#93; => 302 &#91;14&#93; => 304 &#91;15&#93; => 307 &#91;16&#93; => 409 &#91;17&#93; => 401 &#91;18&#93; => 402 &#91;19&#93; => 407 &#91;20&#93; => 405 &#91;21&#93; => 501 &#91;22&#93; => 509 &#91;23&#93; => 508 &#91;24&#93; => 065 &#91;25&#93; => 904 &#91;26&#93; => 606 &#91;27&#93; => 604 &#41; &#41;
λειτουργειιιιι!!!!!!!! :))) Όταν είναι μαζί με τον υπόλοιπο κώδικα τι παθαίνει όμως :/ Να δώσω όλο τον κώδικα σε attach?

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από gvre » 24 Ιουν 2012 14:57

Καλή ερώτηση :)
Δώσε τον και στείλε username & password με pm.

poscore
Δημοσιεύσεις: 63
Εγγραφή: 06 Μάιος 2012 02:48
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από poscore » 24 Ιουν 2012 15:33

gvre έγραψε:Καλή ερώτηση :)
Δώσε τον και στείλε username & password με pm.
Έτοιμο και δες και στο pm.
Συνημμένα
file.txt
(3.9 KiB) Μεταφορτώθηκε 153 φορές

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από gvre » 24 Ιουν 2012 15:44

Άλλαξα μόνο το pattern και το print_r($matches); σε print_r($matches[1]); και λειτουργεί σωστά.
Συνημμένα
file.txt
(4.04 KiB) Μεταφορτώθηκε 112 φορές

poscore
Δημοσιεύσεις: 63
Εγγραφή: 06 Μάιος 2012 02:48
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από poscore » 24 Ιουν 2012 23:38

gvre έγραψε:Άλλαξα μόνο το pattern και το print_r($matches); σε print_r($matches[1]); και λειτουργεί σωστά.
Σε ευχαριστώ πάρα πολύ για την βοήθεια σου φίλε μου :) Τώρα μένει αν δω ΓΙΑΤΙ δεν δούλευε το προηγούμενο.

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

Πρόβλημα με regular expression

Δημοσίευση από jpk » 25 Ιουν 2012 03:45

tango έγραψε: Metrics or it didn't happen. :hammer:
Συμφωνώ απόλυτα μαζί σου &#8230; όταν έχω χρόνο θα κάνω ένα test σε δύο client side (JavaScript και ActionScript) και σε τρείς server side (PHP , Java και Perl) &#8230; σε ένα απλό loop ενός απλού regexp validation (ας πούμε αν είναι email). Ενδιαφέρουσα πρόταση &#8230; και πραγματικά δεν ξέρω τα αποτελέσματα (αν και ξέρω ότι στην PHP αν μπορείς να αποφύγεις τα regexps προσπάθησε)&#8230;

poscore
Δημοσιεύσεις: 63
Εγγραφή: 06 Μάιος 2012 02:48
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από poscore » 26 Ιουν 2012 15:57

Καλησπέρα πάνω στο θέμα των regular expressions, θέλω να πάρω μια παράσταση όπου έχει έναν αριθμό απο 0 έως ΚΑΙ 10 Η την παύλα. Δεν ξέρω πολύ καλά την σύνταξη γι αυτό ήθελα βοήθεια :/

Μέχρι τώρα έχω καταφέρει να κάνω το εξής απλό: ([0-9]) αλλα μου λέιπει το 10 και η παύλα '-'.

Μπορεί αν βοηθήσει κάποιος? :) Ευχαριστώ πολύ!

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από gvre » 26 Ιουν 2012 16:40

Δοκίμασε το παρακάτω
^(10|[0-9]|-)$

poscore
Δημοσιεύσεις: 63
Εγγραφή: 06 Μάιος 2012 02:48
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από poscore » 26 Ιουν 2012 16:50

Τα έκανε χειρότερα. :P Το ^ και $ γιατί το βάζεις? :/

edit: όχι ότι το ήξερα και ψιλοτυχαία έβγαλα τα ^ και $ και δούλεψε. Σε ευχαριστώ :)

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Πρόβλημα με regular expression

Δημοσίευση από gvre » 26 Ιουν 2012 18:45

Χωρίς τα ^$, γίνεται match του pattern οπουδήποτε μέσα στο string. Κάποιες φορές τα χρειάζεσαι και κάποιες άλλες όχι.
Τρέξε τα παρακάτω παραδείγματα και θα καταλάβεις τη διαφορά.

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

<?php
$pattern = '#^&#40;10|&#91;0-9&#93;|-&#41;$#';
echo "trying $pattern\n";
$data = array&#40;"10", "8", "-", "1102"&#41;;
foreach&#40;$data as $d&#41;
        printf&#40;"'$d' %s ok\n", preg_match&#40;$pattern, $d&#41; ? "" &#58; "not"&#41;;

echo "\n-----------\n";

$pattern = '#&#40;10|&#91;0-9&#93;|-&#41;#';
echo "trying $pattern\n";
foreach&#40;$data as $d&#41;
        printf&#40;"'$d' %s ok\n", preg_match&#40;$pattern, $d&#41; ? "" &#58; "not"&#41;;

Απάντηση

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

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

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