regular expressions

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

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

Απάντηση
jimvrasna
Δημοσιεύσεις: 48
Εγγραφή: 21 Απρ 2006 23:57
Τοποθεσία: ΜΑΚΡΙΑ ΜΑΚΡΙΑ
Επικοινωνία:

regular expressions

Δημοσίευση από jimvrasna » 04 Οκτ 2007 13:07

οταν κανουμε ενα post στο freestuff μπορουμε να βαλουμε ενα url για παραδειγμα πατωντας το κουμπι url εμφανιζεται το ακολουθο χωρις κενα [url = site]kati[ / url]
και οταν κανουμε προεπισκοπηση μετατρεπει το url σε κανονικη html και συγκεκριμενα στην ετικετα "a" με το href της κ.α.
πως γινεται αυτο??
SIMONE
a star is.... created!!!!!!

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

regular expressions

Δημοσίευση από dik_ » 04 Οκτ 2007 13:44

Εγώ το κάνω έτσι:

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

$txt = preg_replace&#40;"#\&#91;url=&#40;&#91;^\&#91;\&#93;&#93;+?&#41;\&#93;&#40;.+?&#41;\&#91;/url\&#93;#i", "<a href='$1' target='_blank'>$2</a>", $txt&#41;;

jimvrasna
Δημοσιεύσεις: 48
Εγγραφή: 21 Απρ 2006 23:57
Τοποθεσία: ΜΑΚΡΙΑ ΜΑΚΡΙΑ
Επικοινωνία:

regular expressions

Δημοσίευση από jimvrasna » 04 Οκτ 2007 14:04

εισαι Αρχηγός :clap: :clap: :clap:
αν μπορεις να το εξηγησεις κιολας εισαι ηγέτης!!!!!
SIMONE
a star is.... created!!!!!!

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

regular expressions

Δημοσίευση από dik_ » 04 Οκτ 2007 22:31

Θέλουμε το literal string οπότε κάνουμε escape το [:

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

\&#91;url=
Σώζουμε ως το πρώτο match το URL, το οποίο θέλουμε να περιέχει περισσότερους χαρακτήρες του ενός, αλλά όσο λιγότερους γίνεται, που να μην είναι [ ή ]. Μπορείς να βάλεις κι άλλους χαρακτήρες που δεν επιτρέπονται σε URL, ή να βάλεις απλώς ".":

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

&#40;&#91;^\&#91;\&#93;&#93;+?&#41;
Συνεχίζουμε με το κλείσιμο του tag ], ως literal:

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

\&#93;
Σώζουμε ως το 2ο match το description, που θέλουμε να αποτελείται από περισσότερους του ενός, αλλά όσο λιγότερους γίνεται και οποιουσδήποτε χαρακτήρες:

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

&#40;.+?&#41;
Τελειώνουμε με το literal [/url], καταλλήλως escaped:

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

\&#91;/url\&#93;
O modifier i μπαίνει για να κάνουμε case insensitive match. Γενικά δες κι εδώ:
regular-expressions.info

Είμαι αρχηγέτης; :D

jimvrasna
Δημοσιεύσεις: 48
Εγγραφή: 21 Απρ 2006 23:57
Τοποθεσία: ΜΑΚΡΙΑ ΜΑΚΡΙΑ
Επικοινωνία:

regular expressions

Δημοσίευση από jimvrasna » 04 Οκτ 2007 23:11

Εισαι και με το παραπανω :victory::victory::victory::victory::victory:
SIMONE
a star is.... created!!!!!!

Απάντηση

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

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

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