This code summarizes some text by removing anything past 255 characters. It’s done before inserting things into a database, so that the brutal cut of a VARCHAR(255) doesn’t leave a truncated string but rather three nice dots.
function summarize($text)
{
assert (is_string($text));
if (strlen($text) < 255) return $text;
return substr($text,0,253).'...';
}
Yet, however simple it might be, this function contains a bug. One day, your database will return a weird error when an user tries to save the data. If you’re lucky, it will happen to a lone user who will complain and move on. If you’re unlucky, it will happen during a million-line import and crash everything, or it will display strange things on the screenof every user around.
Can you find why?
Hi. I'm Victor Nicollet,
Recent Comments