1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-28 01:12:20 +01:00
Files
archived-doc-es/reference/strings/functions/str-replace.xml
Juan Pablo Berdejo 360d67f5d3 English version update
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@309975 c90b9560-bf6c-de11-be94-00142212c4b1
2011-04-06 02:16:55 +00:00

263 lines
8.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3ae25210939102d8bd1a110965a4df159083fb10 Maintainer: jpberdejo Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.str-replace">
<refnamediv>
<refname>str_replace</refname>
<refpurpose>Reemplaza todas las apariciones del string buscado con el string de reemplazo</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>
Esta función devuelve un string o un array con todas las apariciones de
<parameter>search</parameter> en <parameter>subject</parameter>
reemplazadas con el valor dado de <parameter>replace</parameter>.
</para>
<para>
Si no se necesitan reglas complicadas de reemplazo (como expresiones regulares), se
puede utilizar siempre esta función en lugar de <function>preg_replace</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
Si<parameter>search</parameter> y <parameter>replace</parameter> son
arrays, entonces <function>str_replace</function> toma un valor de cada array
y lo utiliza para buscar y reemplazar en <parameter>subject</parameter>. Si
<parameter>replace</parameter> tiene menos valores que
<parameter>search</parameter>, entonces un string vacío es usado para el resto de
los valores de reemplazo. Si <parameter>search</parameter> es un array y
<parameter>replace</parameter> es un string, entonces este string de reemplazo es
usado para cada valor de <parameter>search</parameter>. Sin embargo, lo contrario
no tendría sentido.
</para>
<para>
Si <parameter>search</parameter> o <parameter>replace</parameter>
son arrays, sus elementos son procesados del primero al último.
</para>
<para>
<variablelist>
<varlistentry>
<term><parameter>search</parameter></term>
<listitem>
<para>
El valor a ser buscado, también conocida como la <emphasis>aguja</emphasis>.
Un array puede ser utilizado para designar varias agujas.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replace</parameter></term>
<listitem>
<para>
El valor de reemplazo que sustituye los valores encontrados de <parameter>search</parameter>.
Un array puede ser utilizado para designar reemplazos múltiples.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>subject</parameter></term>
<listitem>
<para>
El string o array sobre el que se busca y se sustituye,
también conocido como el <emphasis>pajar</emphasis>.
</para>
<para>
Si <parameter>subject</parameter> es un array, entonces la búsqueda y
reemplazo se realiza con cada entrada de
<parameter>subject</parameter> y el valor devuelto también es
un array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>count</parameter></term>
<listitem>
<para>
Si es pasado, con este se establece el número de reemplazos realizados.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Esta función devuelve un string o un array con los valores sustituidos.
</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>
Fue agregado el parámetro <parameter>count</parameter>.
</entry>
</row>
<row>
<entry>4.3.3</entry>
<entry>
Cambió el comportamiento de esta función. En versiones anteriores un error
existía cuando se usaban arrays en ambos parámetros <parameter>search</parameter> y
<parameter>replace</parameter>, el cual causaba que índices vacíos en
<parameter>search</parameter> fueran saltados sin avanzar
el puntero interno sobre el array <parameter>replace</parameter>.
Esto ha sido corregido en PHP 4.3.3, así que cualquier script que se basara en
este error, debe remover los valores vacíos de búsqueda antes de llamar ésta
función con el fin de imitar el comportamiento original.
</entry>
</row>
<row>
<entry>4.0.5</entry>
<entry>
La mayoría de los parámetros ahora pueden ser un <type>array</type>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplos básicos de <function>str_replace</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Produce: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
// Produce: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
// Produce: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
// Produce: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Ejemplos de trampas potenciales con <function>str_replace</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Orden del reemplazo
$str = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br />';
// Procesa primero \r\n así no es convertido dos veces.
$newstr = str_replace($order, $replace, $str);
// La salida es F debido a que A es reemplazada con B, entonces B es reemplazada con C, y así sucesivamente...
// Finalmente E se reemplaza con F, debido a los reemplazos de izquierda a derecha.
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);
// La salida es: apearpearle pear
// Por la misma razón mencionada arriba
$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;
<caution>
<title>Trampa del orden de reemplazo</title>
<para>
Debido a que <function>str_replace</function> reemplaza de izquierda a derecha, podría
sustituir a un valor previamente insertado al hacer sustituciones múltiples.
Ver también los ejemplos de este documento.
</para>
</caution>
<note>
<para>
Esta función es sensible a mayúsculas y minúsculas. Utilice Use <function>str_ireplace</function>
para reemplazos insensibles a mayúsculas y minúsculas.
</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
-->