Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Extract a string inside of a larger string, case sensitive.
- *
- * @param string $haystack
- * @param null|string $startStr
- * @param null|string $endStr
- * @param bool $includeStart
- * @param bool $includeEnd
- * @return string|false
- */
- function strbetween(
- string $haystack,
- ?string $startStr,
- ?string $endStr = null,
- bool $includeStart = false,
- bool $includeEnd = false) : ?string
- {
- if (empty($haystack))
- return '';
- if (empty($startStr))
- $start = 0;
- else
- {
- $startPos = strpos($haystack, $startStr, 0);
- if ($startPos === false)
- return null;
- $start = $startPos + ($includeStart ? 0 : strlen($startStr));
- }
- if (empty($endStr))
- $end = strlen($haystack);
- else
- {
- $endPos = strpos($haystack, $endStr, $start);
- if ($endPos === false)
- return null;
- $end = $endPos + ($includeEnd ? strlen($endStr) : 0);
- }
- return substr($haystack, $start, $end - $start);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement