There are several PCRE functions available, but today I looked for one that just wasn’t there:
Could’ve maybe used
preg_replace_callback(), but felt wrong since I didn’t actually want to do any replacing. I just needed my function to be called for each match.
So I wrote it myself. Noting it here, in case I (or someone else) needs it again.
* Perform a global regular expression match
* and calls the callback for each match.
$r = preg_match_all($pattern, $subject, $matches, PREG_SET_ORDER);
foreach($matches ??  as $match)
And, in case someone reads this post and knows it actually does exist… and if that someone is you, please do leave a comment!
And, yes, I could’ve just written those 3 lines where I needed them, but what’s the fun in that? And besides, the shorter the code where it counts, the easier what counts is to read.
0 => string 'Hello' (length=5)
1 => string 'H' (length=1)
0 => string 'World' (length=5)
1 => string 'W' (length=1)
After another reply to a question I’ve had on StackOverflow for a while, I decided that I perhaps should add another level of security to my method of providing JSONP from PHP. The way I did it before, I didn’t do any checking on the provided callback. This means that someone could technically put whatever they wanted in there, including malicious code. So, therefore it might be a good idea to check if the callback, which should be a function name, actually is a valid function name. But,
I was curious to how I could make something similar to what Facebook does when you add a link. Somehow it loads images found on the page your link leads to, and then it presents them to you so you can select one you want to use as a thumbnail.
Well, step one to solve this is of course to find all the images on a page, and that is what I will present in this post. It will be sort of like a backend service we can use later from an AJAX call. You post it a URL, and you get all the image URLs it found back. Let’s put the petal to medal!
Today I wanted to list all all users in a database who had been too lazy to uppercase the first letter in their name. But how can you do that in MySQL? With regular expressions such a check would be easy to write, but this was in MySQL, not in for example PHP… but wait a minute… MySQL actually supports Regular Expressions? Yes, it does! I honestly had no clue.