1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-24 07:12:15 +01:00
Files
2026-02-10 00:05:33 +00:00

242 lines
6.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4b72b23513caa3a8bc520d459a0417defc7b3880 Maintainer: sammywg Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.strpos" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>strpos</refname>
<refpurpose>
Sucht die Position des ersten Vorkommens des Suchstrings in einem String
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>false</type></type><methodname>strpos</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>
</methodsynopsis>
<para>
Gibt die numerische Position des ersten Vorkommens von
<parameter>needle</parameter> innerhalb der Zeichenkette
<parameter>haystack</parameter> zurück.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>haystack</parameter></term>
<listitem>
<para>
Die Zeichenkette, in der gesucht werden soll.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>needle</parameter></term>
<listitem>
<para>
Die Zeichenkette, nach der gesucht werden soll.
</para>
&strings.parameter.needle.non-string;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Wenn angegeben, wird die Suche diese Anzahl an Zeichen vom Anfang der
Zeichenkette gezählt beginnen. Ist der Wert negativ, beginnt die Suche
stattdessen diese Anzahl an Zeichen vom Ende des Strings gezählt.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt die Position des Vorkommens von <parameter>needle</parameter> relativ
zum Anfang der Zeichenkette <parameter>haystack</parameter> (unabhängig von
<parameter>offset</parameter>). Es ist ebenfalls zu beachten, dass
Stringpositionen bei <literal>0</literal> beginnen, und nicht bei
<literal>1</literal>.
</para>
<para>
Gibt &false; zurück, wenn <parameter>needle</parameter> nicht gefunden wurde.
</para>
&return.falseproblem;
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<itemizedlist>
<listitem>
<simpara>
Wenn <parameter>offset</parameter> größer ist als die Länge von
<parameter>haystack</parameter>, wird eine
<classname>ValueError</classname>-Ausnahme geworfen.
</simpara>
</listitem>
</itemizedlist>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&strings.changelog.needle-empty;
<row>
<entry>8.0.0</entry>
<entry>
Die Übergabe eines &integer; als <parameter>needle</parameter> wird
nicht mehr unterstützt.
</entry>
</row>
<row>
<entry>7.3.0</entry>
<entry>
Die Übergabe eines &integer; als <parameter>needle</parameter> wird
missbilligt.
</entry>
</row>
<row>
<entry>7.1.0</entry>
<entry>
Unterstützung für negative <parameter>offset</parameter>-Werte wurde
hinzugefügt.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Verwendung von <literal>===</literal></title>
<programlisting role="php">
<![CDATA[
<?php
$meinString = 'abc';
$findMich = 'a';
$pos = strpos($meinString, $findMich);
// Beachten Sie die Verwendung von ===. Ein einfacher Vergleich (==) liefert
// nicht das erwartete Ergebnis, da die Position von 'a' die nullte Stelle
// (also das erste Zeichen) ist
if ($pos === false) {
echo "Der String '$findMich' wurde nicht im String '$meinString' gefunden";
} else {
echo "Der String '$findMich' wurde im String '$meinString' gefunden";
echo " und befindet sich an Position $pos";
}
?>
]]>
</programlisting>
</example>
<example>
<title>Verwendung von !==</title>
<programlisting role="php">
<![CDATA[
<?php
$meinString = 'abc';
$findMich = 'a';
$pos = strpos($meinString, $findMich);
// Der !==-Operator kann ebenfalls verwendet werden. Die Verwendung von !=
// würde in unserem Beispiel nicht wie erwartet arbeiten, da die Position
// von 'a' 0 ist. Das Statement (0 != false) evaluiert hierbei zu false.
if ($pos !== false) {
echo "Der String '$findMich' wurde im String '$meinString' gefunden";
echo " und befindet sich an Position $pos";
} else {
echo "Der String '$findMich' wurde nicht im String '$meinString' gefunden";
}
?>
]]>
</programlisting>
</example>
<example>
<title>Verwendung eines Offsets</title>
<programlisting role="php">
<![CDATA[
<?php
// Wir können nach einem Zeichen suchen und dabei alles vor dem Offset ignorieren
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, nicht 0
echo $pos, PHP_EOL;
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.bin-safe;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>stripos</function></member>
<member><function>str_contains</function></member>
<member><function>str_ends_with</function></member>
<member><function>str_starts_with</function></member>
<member><function>strrpos</function></member>
<member><function>strripos</function></member>
<member><function>strstr</function></member>
<member><function>strpbrk</function></member>
<member><function>substr</function></member>
<member><function>preg_match</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
-->