Index: pt_BR/reference/pcre/functions/preg-replace.xml
===================================================================
--- pt_BR/reference/pcre/functions/preg-replace.xml	(revisão 0)
+++ pt_BR/reference/pcre/functions/preg-replace.xml	(revisão 0)
@@ -0,0 +1,383 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- $Revision: $ -->
+<!-- EN-Revision: 330943 Maintainer: Felipe Barth Status: ready -->
+<!-- Reviewed: no -->
+
+<refentry xml:id="function.preg-replace" xmlns="http://docbook.org/ns/docbook">
+ <refnamediv>
+  <refname>preg_replace</refname>
+  <refpurpose>Realiza uma pesquisa por uma expressão regular e a substitui.</refpurpose>
+ </refnamediv>
+
+ <refsect1 role="description">
+  &reftitle.description;
+  <methodsynopsis>
+   <type>mixed</type><methodname>preg_replace</methodname>
+   <methodparam><type>mixed</type><parameter>pattern</parameter></methodparam>
+   <methodparam><type>mixed</type><parameter>replacement</parameter></methodparam>
+   <methodparam><type>mixed</type><parameter>subject</parameter></methodparam>
+   <methodparam choice="opt"><type>int</type><parameter>limit</parameter><initializer>-1</initializer></methodparam>
+   <methodparam choice="opt"><type>int</type><parameter role="reference">count</parameter></methodparam>
+  </methodsynopsis>
+  <para>
+   Pesquisa <parameter>subject</parameter> para o correspondente
+   <parameter>pattern</parameter> substituindo pelo
+   <parameter>replacement</parameter>.
+  </para>
+ </refsect1>
+
+ <refsect1 role="parameters">
+  &reftitle.parameters;
+  <para>
+   <variablelist>
+    <varlistentry>
+     <term><parameter>pattern</parameter></term>
+     <listitem>
+      <para>
+       O padrão a ser pesquisado. Pode ser uma string ou um array com
+       strings.
+      </para>
+      <para>
+       Diversas <link linkend="reference.pcre.pattern.modifiers">PCRE modifiers</link>
+       também estão disponíveis, incluindo as obsoletas '<literal>e</literal>'
+       (PREG_REPLACE_EVAL), que é específica para esta função.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>replacement</parameter></term>
+     <listitem>
+      <para>
+       A string ou array com strings para substituir. Se este parâmetro é uma string
+       e o parâmetro <parameter>pattern</parameter> é um array, todos patterns
+       vão ser substituídos por esta string. Se ambos
+       <parameter>pattern</parameter> e <parameter>replacement</parameter>
+       parâmetros são arrays, cada <parameter>pattern</parameter> vai ser
+       substituído pelo seu<parameter>replacement</parameter> correspondente. Se
+       houver menos elementos no <parameter>replacement</parameter>
+       array do que no <parameter>pattern</parameter> array, qualquer extra
+       <parameter>pattern</parameter>s será substituído por uma string vazia.
+      </para>
+      <para>
+       <parameter>replacement</parameter> pode conter referências na forma
+       <literal>\\<replaceable>n</replaceable></literal> ou (desde PHP 4.0.4)
+       <literal>$<replaceable>n</replaceable></literal>, com a última forma sendo
+       preferêncial. Toda referência será substituída pelo texto capturado pelo
+       padrão entre parentêses<replaceable>n</replaceable>'th.
+       <replaceable>n</replaceable> pode ser de 0 to 99, e
+       <literal>\\0</literal> ou <literal>$0</literal> refere-se ao texto correspondente
+       por todo o pattern. A abertura de parentêses são contadas da esquerda para direita
+       (a partir de 1) para obter o número de subpattern de captura.
+       Para uso da contrabarra no replacement, deve ser duplicada
+       (<literal>"\\\\"</literal> string PHP ).
+      </para>
+      <para>
+       Quando se trabalha com uma padrão de substituição, onde a backreference 
+       é imediatamente seguida por outro número (isto é.: inserido um número literal
+       imediatamento de um padrão correspondente), você não pode usar a habitual 
+       notação <literal>\\1</literal>para seu backreference.  
+       <literal>\\11</literal>, por exemplo, iria confundir a função
+       <function>preg_replace</function> pois não saberá se quer o
+       <literal>\\1</literal> backreference seguido por um literal 
+       <literal>1</literal>, ou o <literal>\\11</literal> backreference
+       seguido por nada. Neste caso a solução é usar <literal>\${1}1</literal>.
+       Isto cria um isolado <literal>$1</literal> backreference, deixando-o
+       <literal>1</literal> como um literal.
+      </para>
+      <para>
+       Ao usar um obsoleto <literal>e</literal> modificador, esta função escapa
+       alguns caracteres (ou seja <literal>'</literal>, <literal>"</literal>,
+       <literal>\</literal> and NULL) nas strings que substituem os
+       backreferences. Isto é feito para garantir que nenhum erro surja
+       do uso do backreference com aspas simples ou duplas (por exemplo,
+       <literal>'strlen(\'$1\')+strlen("$2")'</literal>). Certifique-se da
+       <link linkend="language.types.string">sintaxe string</link> do PHP
+       para saber exatamente como a string interpretada será considerada.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>subject</parameter></term>
+     <listitem>
+      <para>
+       String ou um array com strings para pesquisar e substituir.
+      </para>
+      <para>
+       Se <parameter>subject</parameter> é um array, então a pesquisa e
+       a substituição são executadas em cada entrada do <parameter>subject</parameter>,
+       e o valor de retorno é um array também.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>limit</parameter></term>
+     <listitem>
+      <para>
+       O máximo possível de substituições para cada patern em cada 
+       <parameter>subject</parameter> string. O padrão é
+       <literal>-1</literal> (sem limite).
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>count</parameter></term>
+     <listitem>
+      <para>
+       Se especificado, essa variável será preenchida com o número de
+       substiuições realizadas.
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+  &reftitle.returnvalues;
+  <para>
+   <function>preg_replace</function> retorna um array se o
+   parâmetro <parameter>subject</parameter> é um array, caso contrário
+   retorna uma string
+  </para>
+  <para>
+   Se a correspondência for encontrada, o novo <parameter>subject</parameter>
+   será devolvido, caso contrário <parameter>subject</parameter> será
+   devolvido inalterado ou &null; se um erro ocorreu.
+  </para>
+ </refsect1>
+
+ <refsect1 role="errors">
+  &reftitle.errors;
+  <para>
+   Um nível de erro <constant>E_DEPRECATED</constant> é emitido quando passado
+   o modificador "\e".
+  </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.5.0</entry>
+       <entry>
+        O modificador <literal>/e</literal> está obsoleto. Use
+        <function>preg_replace_callback</function> como alternativa. Veja a 
+        documentação <link linkend="reference.pcre.pattern.modifiers.eval">PREG_REPLACE_EVAL</link>
+        para adicionais informações sobre riscos de segurança.
+       </entry>
+      </row>
+      <row>
+       <entry>5.1.0</entry>
+       <entry>
+        Adicinado o parâmetro <parameter>count</parameter>
+       </entry>
+      </row>
+      <row>
+       <entry>4.0.4</entry>
+       <entry>
+        Adicionado a forma '$n' para o parâmetro <parameter>replacement</parameter>
+       </entry>
+      </row>
+      <row>
+       <entry>4.0.2</entry>
+       <entry>
+        Adicionado o parâmetro <parameter>limit</parameter>
+       </entry>
+      </row>
+     </tbody>
+    </tgroup>
+   </informaltable>
+  </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+  &reftitle.examples;
+  <para>
+   <example>
+    <title>Usando backreferences seguido por literais numéricos</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+$string = 'April 15, 2003';
+$pattern = '/(\w+) (\d+), (\d+)/i';
+$replacement = '${1}1,$3';
+echo preg_replace($pattern, $replacement, $string);
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+April1,2003
+]]>
+    </screen>
+   </example>
+  </para>
+  <para>
+   <example>
+    <title>Usando array indexados com <function>preg_replace</function></title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+$string = 'The quick brown fox jumped over the lazy dog.';
+$patterns = array();
+$patterns[0] = '/quick/';
+$patterns[1] = '/brown/';
+$patterns[2] = '/fox/';
+$replacements = array();
+$replacements[2] = 'bear';
+$replacements[1] = 'black';
+$replacements[0] = 'slow';
+echo preg_replace($patterns, $replacements, $string);
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+The bear black slow jumped over the lazy dog.
+]]>
+    </screen>
+    <para>
+     By ksorting patterns and replacements, we should get what we wanted.
+    </para>
+    <programlisting role="php">
+<![CDATA[
+<?php
+ksort($patterns);
+ksort($replacements);
+echo preg_replace($patterns, $replacements, $string);
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+The slow black bear jumped over the lazy dog.
+]]>
+    </screen>
+   </example>
+  </para>
+  <para>
+   <example>
+    <title>Replacing several values</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
+                   '/^\s*{(\w+)}\s*=/');
+$replace = array ('\3/\4/\1\2', '$\1 =');
+echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+$startDate = 5/27/1999
+]]>
+    </screen>
+   </example>
+  </para>
+  <para>
+   <example>
+    <title>Strip whitespace</title>
+    <para>
+     Este exemplo retira o excesso de espaçoes em branco de uma string.
+    </para>
+    <programlisting role="php">
+<![CDATA[
+<?php
+$str = 'foo   o';
+$str = preg_replace('/\s\s+/', ' ', $str);
+// This will be 'foo o' now
+echo $str;
+?>
+]]>
+    </programlisting>
+   </example>
+  </para>
+  <para>
+   <example>
+    <title>Usando o parâmetro <parameter>count</parameter></title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+$count = 0;
+
+echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $count);
+echo $count; //3
+?>
+]]>
+    </programlisting>
+    &example.outputs;
+    <screen>
+<![CDATA[
+xp***to
+3
+]]>
+    </screen>
+   </example>
+  </para>
+ </refsect1>
+
+ <refsect1 role="notes">
+  &reftitle.notes;
+  <note>
+   <para>
+    Ao usar arrays com <parameter>pattern</parameter> e
+    <parameter>replacement</parameter>, as chaves são processadas na ordem que
+    aparecem no array. Isto <emphasis>não é necessariamente</emphasis> o
+    mesmo que a ordem de índice numérico. Se é feito o uso dos índices para 
+    indentificar qual <parameter>pattern</parameter> deve ser substituído por qual
+    <parameter>replacement</parameter>, é necessário executar a função
+    <function>ksort</function> em cada array antes de chamar a função
+    <function>preg_replace</function>.
+   </para>
+  </note>
+ </refsect1>
+
+ <refsect1 role="seealso">
+  &reftitle.seealso;
+  <para>
+   <simplelist>
+    <member><link linkend="pcre.pattern">PCRE Patterns</link></member>
+    <member><function>preg_filter</function></member>
+    <member><function>preg_match</function></member>
+    <member><function>preg_replace_callback</function></member>
+    <member><function>preg_split</function></member>
+    <member><function>preg_last_error</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
+-->
Index: pt_BR/reference/pcre/pattern.modifiers.xml
===================================================================
--- pt_BR/reference/pcre/pattern.modifiers.xml	(revisão 331048)
+++ pt_BR/reference/pcre/pattern.modifiers.xml	(cópia de trabalho)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: n/a Maintainer: felipe Status: ready -->
+<!-- EN-Revision: n/a Maintainer: Felipe Barth Status: ready -->
 <article xml:id="reference.pcre.pattern.modifiers" xmlns="http://docbook.org/ns/docbook">
  <title>Modificadores do Padrão</title>
  <titleabbrev>Descreve possíveis modificadores no padrão regex</titleabbrev>
@@ -70,7 +70,7 @@
        </simpara>
       </listitem>
      </varlistentry>
-     <varlistentry>
+     <varlistentry xml:id="reference.pcre.pattern.modifiers.eval">
       <term><emphasis>e</emphasis> (PREG_REPLACE_EVAL)</term>
       <listitem>
        <simpara>
