Files
php-doc-ru/reference/strings/functions/substr-count.xml
Sergey Panteleev 6d43fd64d7 Исправление форматирования
[skip-spellcheck]
[skip-lint]
2022-12-27 03:42:36 +03:00

180 lines
5.7 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e095023e408c8cb6378ae16bb6870343a3946919 Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.substr-count" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>substr_count</refname>
<refpurpose>Возвращает число вхождений подстроки</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>substr_count</methodname>
<methodparam><type>string</type><parameter>haystack</parameter></methodparam>
<methodparam><type>string</type><parameter>needle</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>offset</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>length</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>substr_count</function> возвращает число вхождений
подстроки <parameter>needle</parameter> в строку
<parameter>haystack</parameter>. Заметьте, что параметр
<parameter>needle</parameter> чувствителен к регистру.
</para>
<note>
<para>
Эта функция не подсчитывает перекрывающиеся подстроки. Смотрите пример ниже!
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>haystack</parameter></term>
<listitem>
<para>
Строка, в которой ведётся поиск
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>needle</parameter></term>
<listitem>
<para>
Искомая подстрока
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Смещение начала отсчёта. Если задано отрицательное значение, отсчёт позиции
будет произведён с конца строки.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Максимальная длина строки, в которой будет производится поиск
подстроки после указанного смещения. Если сумма смещения
и максимальной длины будет больше длины <parameter>haystack</parameter>,
то будет выведено предупреждение. Отрицательное значение будет отсчитываться
с конца <parameter>haystack</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Эта функция возвращает целое число (<type>int</type>).
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>length</parameter> теперь допускает значение null.
</entry>
</row>
<row>
<entry>7.1.0</entry>
<entry>
Добавлена поддержка отрицательных значений <parameter>offset</parameter>
и <parameter>length</parameter>.
<parameter>length</parameter> теперь также может быть <literal>0</literal>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>substr_count</function></title>
<programlisting role="php">
<![CDATA[
<?php
$text = 'This is a test';
echo strlen($text); // 14
echo substr_count($text, 'is'); // 2
// строка уменьшается до 's is a test', поэтому вывод будет 1
echo substr_count($text, 'is', 3);
// текст уменьшается до 's i', поэтому вывод будет 0
echo substr_count($text, 'is', 3, 3);
// генерирует предупреждение, так как 5+10 > 14
echo substr_count($text, 'is', 5, 10);
// выводит только 1, т.к. перекрывающиеся подстроки не учитываются
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>count_chars</function></member>
<member><function>strpos</function></member>
<member><function>substr</function></member>
<member><function>strstr</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->