Author Topic: Пара безумных идей по функиям работы со строкой (STRSEARCH и STRCUT3)  (Read 2456 times)

0 Members and 1 Guest are viewing this topic.

Torari

  • Зашел в гости
  • *
  • Posts: 18
    • View Profile
strsearch ("str", "substr") - числовая функция; возвращает количество позиций подстроки в строке

str - строка
substr - подстрока

Пример

$search = "mind"
$r = strsearch("My mind, where is my mind", $search)
print($r) // результат 2

STRCUT3 - ("str", begin, mod) - строковая функция; возвращает кусок строки, используя направление

Параметры
str - входная строка
begin - позиция начала копирования
mod - направление копирования (вправо от позиции (1) и до самого конца) или (влево от позиции (2) и до самого начала)

пример
print( strcut3("hello2020", 5, 1 ) ) // результат "o2020"
print( strcut3("hello2020", 5, 2 ) ) // результат "hello"

Или модернизировать STRCUT ("str", begin, size) и STRCUT2 ("str", begin, end), где при отсутствии size и end, включается направление копирования, которое копирует всё целиком до конца от начала позиции копирования. А направление копирования, например STRCUT копирует (при отсутствии size) до конца вправо от позиции. А STRCUT2 копирует (при отсутствии end) до конца (т.е. до начала строки) влево от позиции.
« Last Edit: March 29, 2014, 10:39:23 AM by Torari »

Torari

  • Зашел в гости
  • *
  • Posts: 18
    • View Profile
Мне кажется, еще было бы удобно для STRPOS ввести 3ий параметр (направление).

Синтаксис

STRPOS ("str", "substr", mod) - числовая функция; возвращает позицию подстроки в строке

Параметры
str - строка
substr - подстрока
mod - направление (1 сначала, 2 с конца)

$search = "mind"
$r = strpos("My mind, where is my mind", $search, 1)
print($r) // результат 4 (с 4 символа начинается подстрока, когда направление выбрано 1 (с начала))

$search = "mind"
$r = strpos("My mind, where is my mind", $search, 2)
print($r) // результат 22 (с 22 символа начинается подстрока, когда направление выбрано 2 (с конца))