Regular Expressions

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

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

Απάντηση
Άβαταρ μέλους
philos
Δημοσιεύσεις: 261
Εγγραφή: 30 Αύγ 2007 23:32

Regular Expressions

Δημοσίευση από philos » 21 Αύγ 2015 12:45

Γεια σας παιδιά!

Χρειάζομαι τις εξής πληροφορίες:
1. Ένα καλό site για επεξήγηση των Regular Expressions.
2. Έχω την εξής ερώτηση. Έστω ότι έχουμε ένα κείμενο με πολλές λέξεις, το οποίο έχει μεταξύ τους και ένα e-mail του στυλ "petros [at] lala.gr".
Εγώ θέλω να εντοπίσω μέσω regex ότι υπάρχει αυτός ο συνδυασμός (λέξη κενό [at] κενό λέξη.xx). Πως μπορώ να το κάνω αφού:
- μιλάμε για κείμενο με πολλές λέξεις
- το παραπάνω κείμενο έχει κενά, οπότε δεν μπορώ να το εντοπίσω σαν λέξη. Εννοώ δλδ ότι αν το [at] δεν είχε κενό, θα μπορούσα να σπάσω το κείμενο σε έναν array με τις λέξεις του και να τις τσέκαρα μία προς μία.

Ευχαριστώ!

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Regular Expressions

Δημοσίευση από geomagas » 22 Αύγ 2015 21:42

https://regex101.com/

Απ' ότι θυμάμαι, υπάρχουν κάποια παραδειγματα στη library για αυτό που θέλεις να κάνεις.

Άβαταρ μέλους
philos
Δημοσιεύσεις: 261
Εγγραφή: 30 Αύγ 2007 23:32

Regular Expressions

Δημοσίευση από philos » 22 Αύγ 2015 22:09

Κι άλλη απορία που προσπαθώ να λύσω εδώ και ώρα!

Λοιπόν, έχουμε τον γνωστό μας bbcode:

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

[quote]text[/quote]
και

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

[quote=username;123]text[/quote ]

Το text λοιπόν μπορεί να έχει έναν δικό μου bbcode με ονομασία [mybbcode]αριθμοί[/mybbcode]

Όλο το κείμενο του post (χαρακτήρες, αριθμοί και κώδικας bbcode) είναι στη μεταβλητή $content.
Τι θέλω να κάνω;
Να εντοπίσω τον αριθμό "123" (ας τον πούμε $postid) που βλέπετε στο παραπάνω quote, δηλαδή τον αριθμό εκείνης της θέσης, του [ quote ] tag στο οποίο έχει εσωκλειστεί ο αντίστοιχος [mybbcode].

Μερικά παραδείγματα $content:

1. Με $content:

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

[quote=username;123]
lalalaallala [mybbcode]123456[/mybbcode]
bbbb cccc dddd
[mybbcode]5334[/mybbcode] haha
[/quote ]
Θα ήθελα να πάρω έναν php array με τα εξής στοιχεία:
array(123 => array('123456', '5334'))

2. Με $content

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

[quote=username;123]
lalalaallala [mybbcode]9999[/mybbcode]
bbbb cccc dddd
[quote=user2;111]
hi!
[mybbcode]5334[/mybbcode][mybbcode]8884[/mybbcode]
[/quote] haha
[/quote ]
Θα ήθελα να πάρω έναν php array με τα εξής στοιχεία:
array(
123 => array('9999'),
111=> array('5334', '8884')
)

κτλ, για οποιαδήποτε βάθος από quotes. Το θέμα είναι να πάρω το περιεχόμενο του mybbcode και να το έχω σε πίνακα με το $postid του quote στο οποίο εσωκλείεται.

Όποια βοήθεια ευπρόσδεκτη!

Άβαταρ μέλους
philos
Δημοσιεύσεις: 261
Εγγραφή: 30 Αύγ 2007 23:32

Regular Expressions

Δημοσίευση από philos » 23 Αύγ 2015 09:53

Επίσης με $content:

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

[quote=username;123]
lalalaallala [mybbcode]9999[/mybbcode]
bbbb cccc dddd
[quote=user2;111]
hi!
[mybbcode]5334[/mybbcode][mybbcode]8884[/mybbcode]
[/quote] haha
[/quote]
[quote][mybbcode]65676[/mybbcode][/quote]
tralala ektos quote
[mybbcode]777[/mybbcode]
Δεν χρειάζεται να ληφθούν υπόψιν τα 65676 και 777. Με ενδιαφέρει μόνο ό,τι γίνεται μέσα σε quote και μάλιστα της μορφής

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

[quote=username;123][/quote]

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Regular Expressions

Δημοσίευση από Alice_Cooper » 27 Αύγ 2015 15:53

kati tetoio sou kanei??

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

\(\w*);([1-9])\w+\g
edo paizei ==> http://www.regexr.com/

kai meta me mia explode ta xorizeis

Απάντηση

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

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

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