
Όποιος μπορεί να με διαφωτίσει έστω για ένα, ευχαριστώ εκ των προτέρων!
Α) Έχουμε ένα column σε MySQL πίνακα (MariaDB βασικά), το οποίο έχει json δεδομένα. Παράδειγμα:
Κώδικας: Επιλογή όλων
{"message":"Phone number information as of 2018-01-05 19:52:25 UTC","type":"cellphone","provider":"Vodafone","ported":false,"success":true}

Το ζητούμενο: θέλουμε να κάνουμε αναζήτηση βάσει provider σε αυτό το column. Είχα γράψει αυτό, με το query στο $searchprovider:
Κώδικας: Επιλογή όλων
AND (phone_info LIKE '%\"provider\":\"". $db->escape_string($searchprovider) ."\"%')
- αντιμετωπίζει προβλήματα σε περιπτώσεις που υπάρχουν > από μία λέξεις (πχ για query "Vodafone" θα δουλέψει σίγουρα)
- αν υπάρχουν παρενθέσεις στον provider, πχ: "provider":"RCS \u0026 RDS (Digi)", δεν βρίσκεται αποτέλεσμα.
Καμιά ιδέα;
Β) Σε μια μεταβλητή $bbcode, έχουμε κείμενο με κώδικα BBCODE, που προσεσσάρεται για να αντικατασταθούν οι εικόνες ( [ img ] tags) σε html (<img src= κτλ):
Κώδικας: Επιλογή όλων
$bbcode = preg_replace('#\[img\]\s*(https?://([^*\r\n]+|[a-z0-9/\\._\- !]+))\[/img\]#iUe', "\$this->handle_bbcode_img_match('\\1')", $bbcode);
...με:
Κώδικας: Επιλογή όλων
function handle_bbcode_img_match($link, $fullsize = false)
{
// remove double spaces -- fixes issues with wordwrap
$link = str_replace(array(' ', '"'), '', $link);
$retval = ($fullsize ? '<div class="size_fullsize">' : '') . '<img src="' . $link . '" border="0" alt="" />' . ($fullsize ? '</div>' : '');
return $retval;
}
α) οι καθαρές εικόνες
[img ]link[ /img]
...να προσεσσάρονται με έναν Α τρόπο (τιμή html στη $retval)
β) οι εικόνες που εσωκλείονται σε url:
[url = "www.google.gr" ][img ]link[ /url][ /url]
... να προσεσσάρονται με Β τρόπο (άλλη $retval)
Δυστυχώς δεν ξέρω κανονικές παραστάσεις ώστε να προσαρμόσω τη preg_replace και δυσκολεύομαι ακόμα και με συμφραζόμενα να βγάλω σωστό αποτέλεσμα...
(ΥΓ: Έβαλα κενά τα img και url tags γιατί δεν τα πρόβαλλε σωστά η φόρμα εδώ

Ευχαριστώ και πάλι!