Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Mp3Sort {
- /**
- * Самописная функция для поиска совпадений в строке по заданному шаблону
- *
- * @access public
- * @param string $str Строка, в которой нам необходимо найти совпадения
- * @param string $find Шаблон, по которому мы будем искать совпадения в строке
- * @return boolean TRUE если нашел совпадения, FALSE если не нашел
- */
- function find_likes ( $str, $find )
- {
- $str = Mp3Sort::string_to_array($str); //str - Строка, в которой необходимо найти совпадения
- $find = Mp3Sort::string_to_array($find); //find - Шаблон для поиска. Или Что нам нужно найти в str
- $i = $k = 0; //Обнуляем переменные
- //i - указатель строки
- //k - указатель шаблона
- while ( $str[ $i ] )
- {
- if ( $str[$i] == $find[$k] ) //Если рассматриваемая ячейка str совпадает с первой(и далее) ячейкой find
- {
- $k++; //увеличиваем указатель шаблона(find) на единицу
- }
- if ( $k == Mp3Sort::end_array_num( $find ) ) //Если величина указателя равна длинне шаблона, не имеет смысла искать совпадения дальше
- {
- return true;
- }
- $i++;
- }
- return false;
- }
- /**
- * Функция для преобразования строки в массив
- *
- * @access public
- * @param string $var Строка, которую необходимо преобразовать в массив
- * @return array Массив в виде разделенной побайтно строки
- */
- function string_to_array ( $var )
- {
- for ( $i=0; $var[$i]; $i++ )
- {
- $result[$i] = $var[$i];
- }
- return $result;
- }
- /**
- * Функция для поиска номера последней ячейки массива
- *
- * @access public
- * @param array $arr Массив, в котором нам необходимо найти номер последнего элемента
- * @return int Номер последней ячейки массива
- */
- function end_array_num ( $arr )
- {
- for ( $i=0; $arr[$i]; $i++ )
- {
- $k++;
- }
- return $k;
- }
- }
- ?>
Add Comment
Please, Sign In to add comment