So today, my friend asked me for some regex to get text between two given strings; I can’t do regex so I came up with a simple line of code and then turned it into a function so it can be re-used.
I thought I’d pop the code here for others too.
/*************************************************************** * @title: Lazy Regex * @descr: Find any text between two strings. * @author: Adam Boutcher * @email: admin@aboutcher.co.uk * @web: www.aboutcher.co.uk * @usage: * string lazy_regex (string $haystack, string $needle_first, string $needle_last) * @Params: * $haystack - the text you which to search * $needle_first - Find this text as the start of the pointer. * $needle_first - Find this text as the end of the pointer. * @notes: * Returns false on failure, this maybe non-bool false, use === to test (see PHP: substr). * Returns the start and end needles including the text beween on success. **************************************************************/ function lazy_regex($haystack, $needle_first, $needle_last) { if ((empty($haystack))||(empty($needle_first))||(empty($needle_last))) { return false; } return substr($haystack, stripos($haystack, $needle_first), ((stripos($haystack, $needle_last)+strlen($needle_last))-stripos($haystack, $needle_first))); }