<?php
/**
 * IBSE
 *
 * Information Bot Service Engine
 *
 * @package        IBSE
 * @author        HSDN Team
 * @copyright    Copyright (c) 2006-2010, Information Networks Ltd.
 * @link        http://www.hsdn.org
 * @since        Version 4.0
 */

/**
 * IBAPI
 *
 * Information Bot Application Program Interface
 *
 * @package        IBSE
 * @author        HSDN Team
 * @copyright    Copyright (c) 2006-2010, Information Networks Ltd.
 * @since        Version 4.0
 */

// ------------------------------------------------------------------------

/**
 * Функция поиска подстроки в строке
 *
 * @access    public
 * @param    string
 * @param    string
 * @param    int
 * @param    bool
 * @return    string
 */
function find($s, $p, $o = 1, $plain = FALSE)
{
    if (
$plain == FALSE)
    {
        if (
preg_match('`('.$p.')`iU', substr($s, $o - 1, strlen($s)), $match))
        {
            
$p = $match[1];
        }
    }

    if ((
$ps = strpos($s, $p, $o - 1)) === FALSE)
    {
        return array(
NULL, NULL);
    }

    
$i = $ps + 1;

    if (
$i > 0)
    {
        
$e = $i + strlen($p) - 1;
    }
    else
    {
        
$i = 0;
        
$e = 0;
    }

    return array(
$i, $e);
}

/**
 * Функция получения подстроки из строки
 *
 * @access    public
 * @param    string
 * @param    int
 * @param    int
 * @return    string
 */
function sub($s, $i, $e = FALSE)
{
    return (
$e === FALSE) ? substr($s, $i - 1) : substr($s, $i - 1, $e - $i + 1);
}

/* EOF lua.php */