EventBuffer::search

(PECL event >= 1.2.6-beta)
Scans the buffer for an occurrence of a string
public mixed EventBuffer::search ( string $what [, int $start = -1 [, int $end = -1 ]] )

Scans the buffer for an occurrence of the string what . It returns numeric position of the string, or FALSE if the string was not found.

If the start argument is provided, it points to the position at which the search should begin; otherwise, the search is performed from the start of the string. If end argument provided, the search is performed between start and end buffer positions.

Parameters:
what

String to search.

start

Start search position.

end

End search position.

Returns:

Returns numeric position of the first occurance of the string in the buffer, or FALSE if string is not found.

Warning

This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

Examples:
EventBuffer::search() example
<?php
// Count total occurances of 'str' in 'buf'
function count_instances($buf, $str) {
    $total = 0;
    $p     = 0;
    $i     = 0;

    while (1) {
        $p = $buf->search($str, $p);
        if ($p === FALSE) {
            break;
        }
        ++$total;
        ++$p;
    }

    return $total;
}

$buf = new EventBuffer();
$buf->add("Some string within a string inside another string");
var_dump(count_instances($buf, "str"));
?>

The above example will output something similar to:

int(3)
See also:

EventBuffer::searchEol() -

doc_php
2016-02-24 16:08:16
Comments
Leave a Comment

Please login to continue.