philos Δημοσ. 12 Αυγούστου 2015 Share Δημοσ. 12 Αυγούστου 2015 Γεια σας παιδιά! Λοιπόν, στη μεταβλητή $content έχουμε ένα κείμενο το οποίο διαθέτει bbcode μορφοποίηση (δηλαδή διαθέτει tags όπως , κτλ). Θέλω να τρέξω έναν κώδικα PHP που να δίνει σε μια άλλη μεταβλητή $imageurl, το url της πρώτης μόνο εικόνας που εντοπίζεται στο $content. Προσοχή στο ότι μιλάμε για bbcode και όχι html.. Δοκίμασα τις οδηγίες εδώ, αλλά το script δουλεύει μόνο αν το $content ξεκινάει με μια εικόνα [ img ] blahblah [ / img ] και δηλαδή δεν προηγείται της εικόνας, άλλος κώδικας. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
vacilis Δημοσ. 12 Αυγούστου 2015 Share Δημοσ. 12 Αυγούστου 2015 (επεξεργασμένο) Ουσιαστικά μπορείς να κάνεις trim τη μεταβλητή $content μέχρι το πρώτο tag εικονας Και μετά να κάνεις trim το υπόλοιπο,Μια πρόχειρη και πολύ απλή επιλυση: <?php $content ="bbcode bbcode bbcode bbcode [ img ] http://i.imgur.com/GB8p8zG.png [ / img ] bbcode bbcode bbcode bbcode"; $imageurl = str_replace(' ', '', $content); $imageurl= strstr($imageurl, '[img]'); $imageurl = str_replace('[img]', '', $imageurl); $imageurl = substr($imageurl, 0, strpos($imageurl, "[/")); echo $imageurl; //http://i.imgur.com/GB8p8zG.png ?> Επεξ/σία 13 Αυγούστου 2015 από vacilis Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
philos Δημοσ. 13 Αυγούστου 2015 Μέλος Share Δημοσ. 13 Αυγούστου 2015 Δουλεύει μια χαρά, σε ευχαριστώ! Το μόνο ότι έβαλα και 2η φορά τον κώδικα, ώστε να τσεκάρει και για [ IMG ] (δηλαδή το tag με κεφαλαία). Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
vacilis Δημοσ. 13 Αυγούστου 2015 Share Δημοσ. 13 Αυγούστου 2015 Μπορείς να βάλεις απλώς: <?php $content ="bbcode bbcode bbcode bbcode [ img ] http://i.imgur.com/GB8p8zG.png [ / img ] bbcode bbcode bbcode bbcode"; $imageurl = str_replace(' ', '', $content); $imageurl = strtolower($imageurl); //όλοι οι χαρακτήρες γίνονται πεζοί $imageurl= strstr($imageurl, '[img]'); $imageurl = str_replace('[img]', '', $imageurl); $imageurl = substr($imageurl, 0, strpos($imageurl, "[/")); echo $imageurl; //http://i.imgur.com/GB8p8zG.png ?> 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
philos Δημοσ. 21 Αυγούστου 2015 Μέλος Share Δημοσ. 21 Αυγούστου 2015 Και κάτι άλλο παιδιά! Θέλω αυτή τη φορά να πάρω τα url ΟΛΩΝ των εικόνων του $content ([ img ]url[ /img], και να τα βάλω σε έναν php array. Πως μπορώ να το κάνω; Έχω κάνει διάφορες δοκιμές με συναρτήσεις τύπου του να πάρεις string μεταξύ δύο άλλων string (του bbcode), αλλά χωρίς επιτυχία. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
vacilis Δημοσ. 21 Αυγούστου 2015 Share Δημοσ. 21 Αυγούστου 2015 (επεξεργασμένο) απλως λειτουργει... <?php $content ="bbcode bbcode bbcode bbcode [ img ] http://i.imgur.com/GB8p8zG.png [ / img ] bbcode bbcode bbcode bbcode [ img ] http://i.imgur.com/g3dffw.png [ / img ] bbocode bbcode [ img ] http://www.insomnia.gr/uploads/profile/photo-thumb-272315.png [ / img ] bboce bbcode"; $imageurl = str_replace(' ', '', $content); $imageurl = strtolower($imageurl); $imageurl= strstr($imageurl, '[img]'); $arr = explode("[img]", $imageurl); foreach ($arr as &$value) { $value = str_replace('[img]', '', $value); $value = substr($value, 0, strpos($value, "[/img]")); } $imageurls = array(); foreach ($arr as $value1) { if (!filter_var($value1, FILTER_VALIDATE_URL) === false) { $imageurls[] = $value1; } } var_dump($imageurls); ?> Output: array(3) { [0]=> string(30) "http://i.imgur.com/gb8p8zg.png" [1]=> string(29) "http://i.imgur.com/g3dffw.png" [2]=> string(61) "http://www.insomnia.gr/uploads/profile/photo-thumb-272315.png" } Επεξ/σία 22 Αυγούστου 2015 από vacilis Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
philos Δημοσ. 21 Αυγούστου 2015 Μέλος Share Δημοσ. 21 Αυγούστου 2015 Σε ευχαριστώ! Τελικά βρήκα μια πιο σύντομη λύση συνδυάζοντας διάφορα που διάβασα στο διαδίκτυο: preg_match_all("~\[IMG\](.+?)\[/IMG\]~", $content, $results); var_dump($results[1]); 1 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
vacilis Δημοσ. 22 Αυγούστου 2015 Share Δημοσ. 22 Αυγούστου 2015 Σε ευχαριστώ! Τελικά βρήκα μια πιο σύντομη λύση συνδυάζοντας διάφορα που διάβασα στο διαδίκτυο: preg_match_all("~\[IMG\](.+?)\[/IMG\]~", $content, $results); var_dump($results[1]); Προφανώς πολύ καλύτερη... Δεν σκεφτηκα το preg_match_all Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
philos Δημοσ. 22 Αυγούστου 2015 Μέλος Share Δημοσ. 22 Αυγούστου 2015 (επεξεργασμένο) Κι άλλη απορία που προσπαθώ να λύσω εδώ και ώρα! Λοιπόν, έχουμε τον γνωστό μας 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 στο οποίο εσωκλείεται. Όποια βοήθεια ευπρόσδεκτη! Επεξ/σία 23 Αυγούστου 2015 από philos Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
philos Δημοσ. 23 Αυγούστου 2015 Μέλος Share Δημοσ. 23 Αυγούστου 2015 Καμιά ιδεά; Αν οι ζητούμενοι arrays όπως τους περιέγραψα έχουν μειονεκτήματα, ας πάρουν άλλη μορφή. Απλά θέλω τα δεδομένα σε έναν php array για να τα χρησιμοποιήσω. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
geomagas Δημοσ. 23 Αυγούστου 2015 Share Δημοσ. 23 Αυγούστου 2015 Δεν νομίζω να είναι οι arrays το πρόβλημα. Απλά δεν πρόκειται κανείς να κάτσει να σου βγάλει όλον τον αλγόριθμο από το μηδέν. Πες τι έχεις κάνει και που κόλλησες. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα