1
0
mirror of https://github.com/php/doc-de.git synced 2026-04-28 17:33:24 +02:00
Files
archived-doc-de/reference/strings/functions/strtok.xml
T
2009-09-28 03:00:57 +00:00

184 lines
4.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: sammywg Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.strtok" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>strtok</refname>
<refpurpose>Zerlegt einen String</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>strtok</methodname>
<methodparam><type>string</type><parameter>str</parameter></methodparam>
<methodparam><type>string</type><parameter>token</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>string</type><methodname>strtok</methodname>
<methodparam><type>string</type><parameter>token</parameter></methodparam>
</methodsynopsis>
<para>
<function>strtok</function> zerlegt einen String (<parameter>str</parameter>)
in kürzere Strings (Tokens), wobei jeder Token von im Parameter
<parameter>token</parameter> festgelegten Zeichen begrenzt wird.
Das bedeutet, dass, wenn Sie eine Zeichenkette wie "Dies ist ein
Beispiel-String" haben, Sie ihn in seine einzelnen Worte zerlegen können,
wenn Sie das Leerzeichen als Token verwenden.
</para>
<para>
Beachten Sie, dass nur der erste Aufruf von strtok das String-Argument
verwendet. Jeder Folgeaufruf von strtok benötigt nur den zu
beachtenden Token, um herauszufinden, wo sich diese im aktuellen String
befinden. Um neu zu beginnen oder einen neuen String zu zerlegen,
müssen Sie nur erneut strtok mit dem string-Parameter aufrufen,
damit die Funktion neu initialisiert wird. Beachten Sie, dass Sie
mehrere Token im Token-Parameter angeben können. Der String wird
dann an jeder Stelle zerlegt, an der eines der angegebenen Zeichen
gefunden wird.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>str</parameter></term>
<listitem>
<para>
Der <type>String</type>, der in kleinere Zeichenketten (Token) zerlegt
werden soll.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>token</parameter></term>
<listitem>
<para>
Die Trennzeichen, die auf <parameter>str</parameter> angewendet werden
sollen.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Der aktuelle <type>String</type>-Token.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>strtok</function>-Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
$string = "Dies ist\tein Beispiel-\nString";
/* Sowohl das Tabulator- als auch das Newline-Zeichen werden
zusätzlich zum Leerzeichen als Token zum Zerlegen verwendet */
$tok = strtok($string, " \n\t");
while ($tok !== false) {
echo "Wort=$tok<br />";
$tok = strtok(" \n\t");
}
?>
]]>
</programlisting>
</example>
</para>
<para>
Das Verhalten der Funktion beim Auffinden eines leeren Teils wurde in PHP
4.1.0 verändert. Zuvor wurde ein leerer String zurückgegeben, wohingegen das
neue, korrekte Verhalten diesen Teil des Strings verwirft.
</para>
<para>
<example>
<title>Altes Verhalten von <function>strtok</function></title>
<programlisting role="php">
<![CDATA[
<?php
$erster_token = strtok('/irgendetwas', '/');
$zweiter_token = strtok('/');
var_dump($erster_token, $zweiter_token);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(0) ""
string(11) "irgendetwas"
]]>
</screen>
</example>
<example>
<title>Neues Verhalten von <function>strtok</function></title>
<programlisting role="php">
<![CDATA[
<?php
$erster_token = strtok('/irgendetwas', '/');
$zweiter_token = strtok('/');
var_dump($erster_token, $zweiter_token);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(11) "irgendetwas"
bool(false)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&return.falseproblem;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>split</function></member>
<member><function>explode</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
-->