PHP.mk документација

strcspn

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.strcspn.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.strcspn.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
strcspn

Референца за `function.strcspn.php` со подобрена типографија и навигација.

function.strcspn.php

strcspn

(PHP 4, PHP 5, PHP 7, PHP 8)

strcspnНајди ја должината на почетниот сегмент што не одговара на маската

= NULL

strcspn(
         string $string,
         string $characters,
         int $offset = 0,
         ?int $length = null
): int

знаци од крајот на string што прави not содржи некој од знаците во characters.

Враќа offset and length се изоставени, тогаш сите од string ќе бидат испитани. Ако се вклучени, тогаш ефектот ќе биде ист како повикување на strcspn(substr($string, $offset, $length), $characters) (види substr за повеќе информации).

Параметри

string

Стрингот што треба да се испита.

characters

Низата што ги содржи сите забранети знаци.

offset

Позицијата во string да се започне со пребарување.

Враќа offset е дадена и е ненегативна, тогаш strcspn() ќе започне со испитување string на offsetта позиција. На пример, во стрингот '"abcdef' 0 ликот на позицијаa' 2 ликот на позицијаcе '

Враќа offset ', и така натаму. strcspn() ќе започне со испитување string на offsetе дадено и е негативно, тогаш string.

length

'та позиција од крајот на string Должината на сегментот од

Враќа length е дадена и е ненегативна, тогаш string за испитување. length ќе се испита за

Враќа length ', и така натаму. string знаци по почетната позиција. length ќе се испита од почетната позиција до string.

Вратени вредности

знаци од крајот на string што се состои целосно од знаци not in characters.

Забелешка:

Кога е offset што се состои целосно од знаци во string.

Дневник на промени

Верзија = NULL
8.4.0 Пред PHP 8.4.0, кога characters беше празна низа, пребарувањето погрешно би застанало на првиот нул бајт во string.
8.0.0 length сега е null.

Примери

Пример #1 strcspn() example

<?php
$a
= strcspn('banana', 'a');
$b = strcspn('banana', 'abcd');
$c = strcspn('banana', 'z');
$d = strcspn('abcdhelloabcd', 'a', -9);
$e = strcspn('abcdhelloabcd', 'a', -9, -5);

var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

int(1)
int(0)
int(6)
int(5)
int(4)

Белешки

Забелешка: Пример #4 Користење на контексти на потоци

Види Исто така

Белешки од корисници 5 белешки

AT-HE (at_he AT hotmai1 DOT com)
20 години пред
this function can be used like strspn(), except while that can be used to compare a string with an allowed pattern, this one can be use to compare a string with a FORBIDDEN pattern

so, to know if any forbidden character has a position inside our string, we can use (not tested with backslashes)...

<?php
// LARGE VERSION
$forbidden="\"\\?*:/@|<>";
if (strlen($filename) != strcspn($filename,$forbidden)) {
    echo "you cant create a file with that name!";
}

// SHORT VERSION
if (strlen($filename) - strcspn($filename,"\"\\?*:/@|<>")) {
    echo "i told you, you cant create that file";
}
?>
maskedcoder at hotmail dot com
20 години пред
useful for finding beginning of quotes and/or tags in a variable containing html.  
    $pos = strcspn($data, '<"\''); 
will find the first occurance of either the beginning of a tag, or a double- or single-quoted string.
legacyprog at routinz dot net
пред 15 години
When you use the third parameter remember that the function will return the number of characters it bypassed, which will *not* be the position in your source string.  It's a simple fix to just add your third parameter value to the function result to get the position in the first string where the scan stopped, but I didn't think of it at first.
Анонимен
пред 16 години
strcspn() can also be thought of as analogous to the following regular expression:
<?php
// where ... represents the mask of characters
preg_match('/[^ ...]/', substr($subject, $start, $length) );
?>
By this analogy, strcspn() can be used in place of some regular expressions to match a pattern without the overhead of a regex engine -- for example, ways to verify if an input string represents a binary value:
<?php
preg_match('/^[01]+$/i', $subject);
// or...
!preg_match('/[^01]/i', $subject);

// ...or using strcspn()
!strcspn($subject, '01');
?>
nospam на nospam точка com
пред 9 години
It might not be clear from the example, that

strcspn('abcdhelloabcd', 'abcd', -9, -5) == 4

because it's only evaluating 'hell' which doesn't contain any mask, so returns strlen('hell').
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.