<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 19419 -->
<!-- Reviewed: no -->
<sect2 id="zend.filter.set.pregreplace">
    <title>PregReplace</title>

    <para>
        <classname>Zend_Filter_PregReplace</classname> führt eine Suche durch indem es Reguläre
        Ausdrücke verwendet und alle gefundenen Elemente ersetzt.
    </para>

    <para>
        Die Option <property>match</property> muss angegeben werden um das Pattern zu Setzen nach
        dem gesucht wird. Es kann ein String, für ein einzelnes Pattern sein, oder ein Array von
        Strings für mehrere Pattern.
    </para>

    <para>
        Um das Pattern zu Setzen das als Ersatz verwendet wird, muss die Option
        <property>replace</property> verwendet werden. Es kann ein String, für ein einzelnes
        Pattern sein, oder ein Array von Strings für mehrere Pattern.
    </para>

    <programlisting language="php"><![CDATA[
$filter = new Zend_Filter_PregReplace(array('match' => '/bob/',
                                            'replace' => 'john'));
$input  = 'Hy bob!';

$filter->filter($input);
// Gibt 'Hy john!' zurück
]]></programlisting>

    <para>
        Man kann <methodname>getMatchPattern()</methodname> und
        <methodname>setMatchPattern()</methodname> verwenden um die Suchpattern im Nachhinein zu
        Setzen. Um das Ersatzpattern zu Setzen können <methodname>getReplacement()</methodname> und
        <methodname>setReplacement()</methodname> verwendet werden.
    </para>

    <programlisting language="php"><![CDATA[
$filter = new Zend_Filter_PregReplace();
$filter->setMatchPattern(array('bob', 'Hy'))
       ->setReplacement(array('john', 'Bye'));
$input  = 'Hy bob!";

$filter->filter($input);
// Gibt 'Bye john!' zurück
]]></programlisting>

    <para>
        Für eine komplexere Verwendung sollte man einen Blick in <acronym>PHP</acronym>'s <ulink
            url="http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php">Kapitel für
            PCRE Pattern</ulink> werfen.
    </para>
</sect2>
