1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-26 00:02:18 +01:00
Files
archived-doc-de/reference/strings/functions/str-replace.xml
2009-09-28 03:00:57 +00:00

236 lines
7.1 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: sammywg Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.str-replace">
<refnamediv>
<refname>str_replace</refname>
<refpurpose>Ersetzt alle Vorkommen des Suchstrings durch einen anderen String</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>str_replace</methodname>
<methodparam><type>mixed</type><parameter>search</parameter></methodparam>
<methodparam><type>mixed</type><parameter>replace</parameter></methodparam>
<methodparam><type>mixed</type><parameter>subject</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">count</parameter></methodparam>
</methodsynopsis>
<para>
Diese Funktion gibt einen String oder ein Array zurück, in dem alle
Vorkommen von <parameter>search</parameter> innerhalb von
<parameter>subject</parameter> durch den angegebenen
<parameter>replace</parameter>-Wert ersetzt wurden.
</para>
<para>
Wenn Sie keine ausgefallenen Ersetzungsregeln (wie Reguläre Ausdrücke)
benötigen, sollten Sie immer diese Funktion anstelle von
<function>ereg_replace</function> oder <function>preg_replace</function>
verwenden.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
Sind <parameter>search</parameter> und <parameter>replace</parameter>
Arrays, nimmt <function>str_replace</function> je einen Wert beider Arrays
und verwendet diese zum Suchen und Ersetzen in
<parameter>subject</parameter>. Hat <parameter>replace</parameter>
weniger Werte als <parameter>search</parameter>, so wird ein leerer
String zum Ersetzen für den Rest der Werte verwendet. Ist
<parameter>search</parameter> ein Array und <parameter>replace</parameter>
ein String, dann wird dieser String für jeden Wert von
<parameter>search</parameter> angewandt. Das Gegenteil ist nicht sinnvoll.
</para>
<para>
Sind <parameter>search</parameter> und/oder <parameter>replace</parameter>
Arrays, werden ihre Elemente vom ersten zum letzten hin verarbeitet.
</para>
<para>
<variablelist>
<varlistentry>
<term><parameter>search</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replace</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>subject</parameter></term>
<listitem>
<para>
Ist <parameter>subject</parameter> ein Array, erfolgt das Suchen
und Ersetzen für jeder Wert von <parameter>subject</parameter>,
und der Rückgabewert ist ebenfalls ein Array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>count</parameter></term>
<listitem>
<note>
<simpara>
Sofern angegeben, enthält der Parameter die Anzahl der gefunden und
ersetzten Textstellen.
</simpara>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Diese Funktion gibt eine Zeichenkette oder ein Array mit ersetzten Werten
zurück.
</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>5.0.0</entry>
<entry>
Der Parameter <parameter>count</parameter> wurde hinzugefügt.
</entry>
</row>
<row>
<entry>4.3.3</entry>
<entry>
Das Verhalten der Funktion wurde verändert. Ältere Versionen enthalten
einen Bug, der bei der Verwendung von Arrays für
<parameter>search</parameter> und <parameter>replace</parameter> dazu
führt, dass leere <parameter>search</parameter>-Indexe übersprungen
werden, ohne dabei den internen Zeiger innerhalb des
<parameter>replace</parameter>-Arrays ebenfalls weiter zu bewegen. Dies
wurde in PHP 4.3.3 korrigiert. Alle Skripte, die sich auf diesen Bug
verlassen, sollten leere Suchwerte entfernen, bevor diese Funktion
aufgerufen wird, um die ursprüngliche Verhalten zu imitieren.
</entry>
</row>
<row>
<entry>4.0.5</entry>
<entry>
Die meisten Parameter können vom Typ <type>array</type> sein.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>str_replace</function>-Beispiele</title>
<programlisting role="php">
<![CDATA[
<?php
// Liefert: <body text='schwarz'>
$bodytag = str_replace("%body%", "schwarz", "<body text='%body%'>");
// Liefert: Hll PHP-Wlt
$vokale = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vokale, "", "Hallo PHP-Welt");
// Liefert: Sie sollten taeglich Pizza, Bier und Eiscreme essen.
$phrase = "Sie sollten taeglich Fruechte, Gemuese und Ballaststoffe essen.";
$gesund = array("Fruechte", "Gemuese", "Ballaststoffe");
$lecker = array("Pizza", "Bier", "Eiscreme");
$newphrase = str_replace($gesund, $lecker, $phrase);
// Die Verwendung des count-Parameters ist ab PHP 5.0.0 möglich
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2
// Reihenfolge von Ersetzungen
$str = "Zeile 1\nZeile 2\rZeile 3\r\nZeile 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br />';
// Verarbeitet \r\n's zuerst, so dass sie nicht doppelt konvertiert werden
$newstr = str_replace($order, $replace, $str);
// Ausgabe: apearpearle pear
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output;
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.bin-safe;
<note>
<para>
Die Funktion berücksichtigt Groß- und Kleinschreibung. Verwenden Sie
<function>str_ireplace</function>, wenn Sie beim Ersetzen unabhängig von
der Groß- und Kleinschreibung sein wollen.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>str_ireplace</function></member>
<member><function>substr_replace</function></member>
<member><function>preg_replace</function></member>
<member><function>strtr</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
-->