I know it’s only been a month, so it’s obviously far too soon for me to be publishing any kind of a script update. However, these were things which just needed to be done.
First, I’ve greatly improved the internationalism of the script: it now operates searches on UTF-8 encoded data, so it should be great for working with any language which requires characters in that character set. Testing this kind of behavior is difficult, so if you should encounter any problems please do let me know!
Second, I improved the pagination of results. Previously, if there were 150 pages of results, you’d have to see links to every single page of the results. Granted, this can be advantageous, but it’s not really practical. In this updated version, when there are more than 10 pages of results you’ll only have links to the first page, the last page, and two pages before and after the current page. This boundary is configurable — you can offer 50 pages before and after the current, if you wish, but the default is 2.
Last, I changed the way the search query was checked before being sent to MySQL. The original version of this script used my own custom-authored regular expression to secure the request. This was probably very secure, since it functioned by only allowing certain characters rather than checking restricted characters — but it did make things such as multibyte queries pretty much impossible. So it was time to change over to a more standard method. So be it! I got what I needed out of the regular expression; it didn’t need to stay in the script.