derick Thu Mar 1 10:45:08 2001 EDT
Modified files:
/phpdoc/nl Translators
/phpdoc/nl/functions strings.xml
Log:
- Leendert finished strings.xml
Index: phpdoc/nl/Translators
diff -u phpdoc/nl/Translators:1.19 phpdoc/nl/Translators:1.20
--- phpdoc/nl/Translators:1.19 Wed Feb 28 01:10:16 2001
+++ phpdoc/nl/Translators Thu Mar 1 10:45:06 2001
@@ -1,17 +1,18 @@
Note: The english language is used here, so more people can read it,
and understand what is here, and where we are with the Dutch
- tranlations...
+ translations...
The Dutch manual is edited by Mathieu 'CaPS' Kooiman,
-Leendert 'HolyGoat' Brower en Derick 'OpenSrc' Rethans.
+Leendert 'HolyGoat' Brower, Ninh Bui en Derick 'OpenSrc' Rethans.
Translators (in alphabetic order):
CVS Name Email(s)
=============================================================================
-derick Derick Rethans [EMAIL PROTECTED]
-mathieu Mathieu Kooiman [EMAIL PROTECTED]
+ Leendert Brouwer [EMAIL PROTECTED]
Ninh Bui [EMAIL PROTECTED]
+mathieu Mathieu Kooiman [EMAIL PROTECTED]
+derick Derick Rethans [EMAIL PROTECTED]
Filename Translator Version Needs update
=============================================================================
@@ -42,7 +43,7 @@
remote-files.xml Mathieu done
------- functions -----------------------------------------------------------
apache.xml Derick done
-array.xml
+array.xml Leendert started
aspell.xml
bc.xml
calendar.xml
@@ -51,7 +52,7 @@
cpdf.xml
curl.xml
cybercash.xml
-datetime.xml
+datetime.xml Leendert started
dba.xml
dbase.xml
dbm.xml
@@ -100,7 +101,7 @@
session.xml
shmop.xml
snmp.xml
-strings.xml
+strings.xml Leendert done
swf.xml
sybase.xml
uodbc.xml
Index: phpdoc/nl/functions/strings.xml
diff -u /dev/null phpdoc/nl/functions/strings.xml:1.4
--- /dev/null Thu Mar 1 10:45:08 2001
+++ phpdoc/nl/functions/strings.xml Thu Mar 1 10:45:06 2001
@@ -0,0 +1,3148 @@
+<reference id="ref.strings">
+ <title>String functions</title>
+ <titleabbrev>Strings</titleabbrev>
+
+ <partintro>
+ <simpara>
+ Al deze functies manipuleren strings op verschillende manieren.
+ Meer specifieke functies kunnen worden gevonden in de regular expression
+ en URL handling secties.
+ <simpara>
+
+ <para>
+ Voor informatie over hoe strings zich gedragen, vooral met betrekking tot
+ het gebruik van single quotes, double quotes en escape sequences, zie de
+ <link linkend="language.types.string">Strings</link> entry in de
+ <link linkend="language.types">Types</link> sectie van de manual.
+ </para>
+ </partintro>
+
+ <refentry id="function.addcslashes">
+ <refnamediv>
+ <refname>AddCSlashes</refname>
+ <refpurpose>Quote string met slashes in de C stijl</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>addcslashes</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>string <parameter>charlist</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft een string weer met backslashes voor de characters die
+ gegeven zijn in de <parameter>charlist</parameter> parameter.
+ Het escaped <literal>\n</literal>, <literal>\r</literal> etc. in
+ C-achtige stijl, characters met met ASCII code lager dan 32 en
+ hoger dan 126 worden geconverteerd naar octaal formaat.
+ Wees voorzichtig met het escapen van alfanumerieke characters.
+ Je kan in <parameter>charlist</parameter> een bereik specifieren zoals
+ "\0..\37", hetgeen alle characters zou escapen met een ASCII code tussen
+ 0 en 31.
+ <example>
+ <title><function>Addcslashes</function> voorbeeld</title>
+ <programlisting role="php">
+$escaped = addcslashes ($not_escaped, "\0..\37!@\177..\377");
+ </programlisting>
+ </example>
+ <note>
+ <simpara>
+ Toegevoegd in PHP4b3-dev.</simpara>
+ </note>
+ </para>
+ <para>
+ Zie ook <function>stripcslashes</function>,
+ <function>stripslashes</function>,
+ <function>htmlspecialchars</function>,
+ <function>htmlspecialchars</function>, en
+ <function>quotemeta</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.addslashes">
+ <refnamediv>
+ <refname>AddSlashes</refname>
+ <refpurpose>Quote string met slashes</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>addslashes</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft een string weer met backslashes voor characters die moeten
+ worden gequote in database queries etc. Deze characters zijn
+ single quote (<literal>'</literal>), double quote
+ (<literal>"</literal>), backslash (<literal>\</literal>)
+ en NUL (de null byte).
+ </para>
+ <para>
+ Zie ook <function>stripslashes</function>,
+ <function>htmlspecialchars</function>, en
+ <function>quotemeta</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.bin2hex">
+ <refnamediv>
+ <refname>bin2hex</refname>
+ <refpurpose>
+ Converteert binaire data naar hexadecimaal formaat
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>bin2hex</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft een ASCII string weer met daarin het hexadecimale formaat
+ van <parameter>str</parameter>. De conversie vindt byte-gewijs plaats
+ met de hoge-nibble eerst.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.chop">
+ <refnamediv>
+ <refname>Chop</refname>
+ <refpurpose>Verwijdert achteraankomende whitespace</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>chop</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft de argument string zonder achteraankomende whitespace weer,
+ inclusief newlines.
+ <example>
+ <title><function>Chop</function> voorbeeld</title>
+ <programlisting role="php">
+$trimmed = chop ($line);
+ </programlisting>
+ </example>
+ </para>
+ <note>
+ <para>
+ <function>chop</function> verschilt van de Perl
+ <parameter>chop()</parameter> functie, die de laatste
+ character van de string verwijdert.
+ </para>
+ </note>
+ <para>
+ Zie ook <function>trim</function>, <function>ltrim</function>,
+ <function>rtrim</function>, en <function>chop</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.chr">
+ <refnamediv>
+ <refname>Chr</refname>
+ <refpurpose>Geeft een specific character weer</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>chr</function></funcdef>
+ <paramdef>int <parameter>ascii</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft een een-character string met daarin de character
+ gespecifieerd in <parameter>ascii</parameter>.
+ <example>
+ <title><function>Chr</function> example</title>
+ <programlisting role="php">
+$str .= chr (27); /* voeg een escape character toe aan het eind van $str */
+
+/* Meestal is dit wat handiger */
+
+$str = sprintf ("De string eindigt in escape: %c", 27);
+ </programlisting>
+ </example>
+ Deze functie vult <function>ord</function> aan. Zie ook
+ <function>sprintf</function> met een format string van
+ <literal>%c</literal>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.chunk-split">
+ <refnamediv>
+ <refname>chunk_split</refname>
+ <refpurpose>Split een string in kleinere stukjes</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>chunk_split</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>chunklen</optional></parameter>
+ </paramdef>
+ <paramdef>string
+ <parameter><optional>end</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Kan gebruikt worden om een string in kleinere stukjes te splitten,
+ wat handig kan zijn om bijvoorbeeld
+ <link linkend="function.base64-encode">base64_encode</link> uitvoer
+ overeen te doen komen met RFC 2045 vereisten.
+ Deze functie voegt per <parameter>chunklen</parameter> (default is 76)
+ aangegeven karakters de middels <parameter>end</parameter> aangegeven
+ (default is "\r\n") string in.
+ <example>
+ <title><function>Chunk_split</function> example</title>
+ <programlisting role="php">
+# format $data gebruikmakend van RFC 2045 vereisten
+
+$nieuwe_string = chunk_split (base64_encode($data));
+ </programlisting>
+ </example>
+ Deze functie is merkbaar sneller dan
+ <function>ereg_replace</function>.
+ <note>
+ <para>
+ Deze functie is toegevoegd in 3.0.6.
+ </para>
+ </note>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.convert-cyr-string">
+ <refnamediv>
+ <refname>convert_cyr_string</refname>
+ <refpurpose>
+ Converteert van de ene Cyrillische karakter set naar de andere.
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>convert_cyr_string</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>string <parameter>from</parameter></paramdef>
+ <paramdef>string <parameter>to</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie converteert de gegeven string van de ene naar
+ de andere Cyrillische karakter-set. De <parameter>from</parameter>
+ en <parameter>to</parameter> argumenten zijn enkele karakters
+ die staan voor bron- en doel karakterset. De ondersteunde types zijn:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ k - koi8-r
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ w - windows-1251
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ i - iso8859-5
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ a - x-cp866
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ d - x-cp866
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ m - x-mac-cyrillic
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.count-chars">
+ <refnamediv>
+ <refname>count_chars</refname>
+ <refpurpose>
+ Geeft informatie over karakters die in een string gebruikt worden
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>mixed <function>count_chars</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ <paramdef>
+ <parameter>
+ <optional>mode</optional>
+ </parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Telt hoeveel keer elke byte-waarde (0..255) voorkomt in een
+ <parameter>string</parameter> en geeft het weer op verschillende manieren.
+ De optionele parameter <parameter>Mode</parameter> is default 0.
+ Afhankelijk van <parameter>mode</parameter> <function>count_chars</function>
+ geeft een van de volgende terug:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ 0 - een array met de byte-waarde als sleutel en de frequentie
+ van elke byte als waarde.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 1 - hetzelfde als 0, maar alleen byte-waarden met een frequentie
+ groter dan nul worden terug gegeven.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 2 - hetzelfde als 0, maar alleen byte-waarden met een frequentie
+ die gelijk is aan nul worden terug gegeven.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 3 - een string die alle gebruikte byte-waarden bevat wordt terug gegeven.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ 4 - een string die alle niet gebruikte byte-waarden bevat wordt terug gegeven.
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <note>
+ <para>
+ Deze functie was toegevoegd in PHP 4.0.
+ </para>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.crc32">
+ <refnamediv>
+ <refname>crc32</refname>
+ <refpurpose>Berekent de crc32 polynoom van een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>crc32</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Genereert de cyclische redundancy checksum polynoom van 32-bit lengtes
+ van de <parameter>str</parameter>. Dit wordt doorgaans toegepast
+ bij het valideren van de integriteit van verzonden data.
+ </para>
+ <para>
+ Zie ook: <function>md5</function>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.crypt">
+ <refnamediv>
+ <refname>crypt</refname>
+ <refpurpose>DES-encrypt een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>crypt</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>string
+ <parameter><optional>salt</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>crypt</function> encrypteert een string geburikmakend
+ vande standaard Unix <abbrev>DES</abbrev> encryptie methode.
+ Argumenten zijn de string die gecrypteerd moet worden en een
+ optionele twee-karakter salt string om de encryptie op te baseren.
+ Zie de Unix man page voor je crypt functie en meer informatie.
+ </para>
+ <simpara>
+ Als het salt argument niet wordt meegegeven zal de string
+ willekeurig gegenereerd worden door PHP.
+ </simpara>
+ <simpara>
+ Sommige operating systems ondersteunen meer dan een type encryptie.
+ Soms is zelfs de standaard DES encryptie vervangen door een MD5
+ gebaseerd encryptie algoritme. Het encryptie type wordt getriggerd
+ door het salt argument. Op het moment van installeren bepaalt PHP de
+ mogelijkheden van de crypt functie en zal salts accepteren voor andere
+ encryptie types. Als er geen salt beschikbaar is zal PHP zelf een uit
+ 2 karakters bestaande DES salt genereren, tenzij het default encryptie
+ type op het systeem MD5 is, in dat geval zal een random MD5 compatibele
+ salt gegenereerd worden. PHP maakt een constante aan genaamd CRYPT_SALT_LENGTH
+ die je vertelt of een regulare 2-karakter salt of dat een 12-karakter MD5
+ van toepassing is.
+ </simpara>
+ <simpara>
+ In het geval je de meegegeven salt gebruikt, wees er dan van bewust
+ dat de salt 1 keer gegenereerd wordt. Als je de functie recursief
+ aanspreekt, kan dit gevolgen hebben voor de appearance en, tot op
+ zekere hoogte, de veiligheid.
+ </simpara>
+ <simpara>
+ De standaard DES encryptie <function>crypt</function> gebruikt de
+ salt als de eerste 2 karakters van de output.
+ </simpara>
+ <simpara>
+ Op systemen waar de crypt() functie meerdere encryptie types ondersteunt,
+ de volgende constanten zijn gezet op waardes 0 of 1, afhankelijk van het
+ feit of het gegeven type beschikbaar is:
+ </simpara>
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ CRYPT_STD_DES - Standaard DES encryptie met een 2-karakter SALT
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ CRYPT_EXT_DES - Uitgebreide DES encryptie met een 9-karakter SALT
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ CRYPT_MD5 - MD5 encryptie met een 12-karakter SALT beginnend met
+ $1$
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ CRYPT_BLOWFISH - Uitgebreide DES encryption met een 16-karakter SALT
+ startende met $2$
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ <simpara>
+ Er is geen decrypt functie, omdat <function>crypt</function>
+ gebruikmaakt van een one-way algoritme.
+ </simpara>
+ <simpara>
+ Zie ook: <function>md5</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.echo">
+ <refnamediv>
+ <refname>echo</refname>
+ <refpurpose>Output een of meerdere strings</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef><function>echo</function></funcdef>
+ <paramdef>string <parameter>arg1</parameter></paramdef>
+ <paramdef>string
+ <parameter><optional>argn</optional>...</parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Output alle parameters.
+ </simpara>
+ <para>
+ <function>Echo</function> is eigenlijk geen functie (het is een
+ language construct), dus je hoeft geen parantheses te gebruiken.
+ <example>
+ <title><function>Echo</function> voorbeeld</title>
+ <programlisting role="php">
+echo "Hallo Wereld";
+
+echo "Dit spant
+over meerdere regels. De newlines zullen ook
+in de output worden opgenomen";
+
+echo "Dit spant\nover meerdere regels. The newlines zullen ook in de\noutput
+worden opgenomen.";
+ </programlisting>
+ </example>
+ </para>
+ <note>
+ <para>
+ Nota bene, als je meer dan 1 parameter in de echo wilt gebruiken,
+ zullen de parameters niet moeten worden ingesloten met parentheses.
+ </para>
+ </note>
+ <simpara>
+ Zie ook:
+ <function>print</function>,
+ <function>printf</function>, and
+ <function>flush</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.explode">
+ <refnamediv>
+ <refname>explode</refname>
+ <refpurpose>Split een string door string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>array <function>explode</function></funcdef>
+ <paramdef>string <parameter>separator</parameter></paramdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>limit</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft een array van strings terug, waar elk element een substring
+ van <parameter>string</parameter> is, gevormd door het splitten ervan
+ op basis van de string <parameter>delim</parameter>.
+ Als <parameter>limit</parameter> meegegeven wordt, zal de teruggegeven array
+ een maximum van <parameter>limit</parameter> elementen bevatten waarbij het
+ laatste element de rest van <parameter>string</parameter> bevat.
+ </para>
+ <para>
+ <example>
+ <title><function>Explode</function> voorbeeld</title>
+ <programlisting role="php">
+$pizza = "stuk1 stuk2 stuk3 stuk4 stuk5 stuk6";
+$stukken = explode (" ", $pizza);
+ </programlisting>
+ </example>
+ </para>
+ <note>
+ <para>
+ Hoewel <function>implode</function> door historische redenen
+ zijn parameters in willekeurige volgorde accepteert,
+ is dit niet het geval met <function>explode</function>. Je moet
+ er zeker van zijn dat de <parameter>seperator</parameter> voor het
+ <parameter>string</parameter> argument komt.
+ </para>
+ </note>
+ <para>
+ Zie ook <function>split</function> en
+ <function>implode</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.get-html-translation-table">
+ <refnamediv>
+ <refname>get_html_translation_table</refname>
+ <refpurpose>
+ Geeft een vertalingstabel weer die gebruikt wordt bij
+ <function>htmlspecialchars</function> en
+ <function>htmlentities</function>
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string
+ <function>get_html_translation_table</function>
+ </funcdef>
+ <paramdef>int <parameter>table</parameter></paramdef>
+ <paramdef>int <parameter><optional>quote_style</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>get_html_translation_table</function> geeft een vertalingstabel
+ weer die intern gebruikt wordt voor <function>htmlspecialchars</function> en
+ <function>htmlentities</function>. Er zijn twee nieuwe defines
+ (<parameter>HTML_ENTITIES</parameter>, <parameter>HTML_SPECIALCHARS</paramater>)
+ die het mogelijk maken om te specifieren welke tabel je wilt. En net als bij de
+ <function>htmlspecialchars</function> en <function>htmlentities</function>
+functies
+ kan je optioneel de quote_style specifieren die je gebruiken wilt. De default is
+ ENT_COMPAT mode. Zie de omschrijving van deze modes in
+ <function>htmlspecialchars</function>.
+ <example>
+ <title>Vertalingstabel Voorbeeld</title>
+ <programlisting role="php">
+$trans = get_html_translation_table (HTML_ENTITIES);
+$str = "Hallo & <Frau> & Krämer";
+$encoded = strtr ($str, $trans);
+ </programlisting>
+ </example>
+ De <literal>$encoded</literal> variabele zal nu bevatten: "Hallo
+ &<sgmltag>amp</sgmltag>;
+ &<sgmltag>lt</sgmltag>;Frau&<sgmltag>gt</sgmltag>;
+ &<sgmltag>amp</sgmltag>; Kr&<sgmltag>auml</sgmltag>;mer".
+ </para>
+ <para>
+ Leuk is het gebruikmaken van <function>array_flip</function> om
+ de richting van de vertaling te veranderen.
+ <informalexample>
+ <programlisting role="php">
+$trans = array_flip ($trans);
+$original = strtr ($str, $trans);
+ </programlisting>
+ </informalexample>
+ De inhoud van <literal>$original</literal> zou zijn: "Hallo &
+ <Frau> & Krämer".
+ <note>
+ <para>
+ Deze functie was toegevoegd in PHP 4.0.
+ </para>
+ </note>
+ </para>
+ <para>
+ Zie ook: <function>htmlspecialchars</function>,
+ <function>htmlentities</function>, <function>strtr</function>,
+ en <function>array_flip</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.get-meta-tags">
+ <refnamediv>
+ <refname>get_meta_tags</refname>
+ <refpurpose>
+ Extract alle meta tag content attributen van een bestand en
+ geeft een array terug
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>array <function>get_meta_tags</function></funcdef>
+ <paramdef>string <parameter>filename</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>use_include_path</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Opent <parameter>filename</parameter> en parsed het regel voor regel
+ voor <meta> tags van de vorm
+ <example>
+ <title>Meta Tags Voorbeeld</title>
+ <programlisting role="html">
+<meta name="author" content="name">
+<meta name="tags" content="php3 documentation">
+</head> <!-- parsen stopt hier -->
+ </programlisting>
+ </example>
+ (let op de line endings - PHP gebruikt native functies
+ om input te parsen, dus een Mac bestand werkt niet op Unix).
+ </para>
+ <para>
+ De waarde van de name property wordt de key, de waarde van de
+ content property wordt de waarde van de teruggegeven array,
+ dus je kan gemakkelijk standaard array functies gebruiken om
+ waardes in de array te kunnen benaderen. Speciale karakters in de
+ waarde van de name property worden vervangen door '_', de rest wordt
+ geconverteerd naar lower case.
+ </para>
+ <para>
+ Het zetten van <parameter>use_include_path</parameter> naar 1 zal resulteren
+ in PHP die de file probeert te openen gebaseerd op de standaard include path.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.hebrev">
+ <refnamediv>
+ <refname>hebrev</refname>
+ <refpurpose>
+ Converteert logische Hebreeuwse tekst naar visuele tekst
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>hebrev</function></funcdef>
+ <paramdef>string <parameter>hebrew_text</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>max_chars_per_line</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ De optionele parameter <parameter>max_chars_per_line<parameter>
+ geeft het maxium aantal karakters per regel aan die weergegeven worden.
+ De functie probeert om het breken van woorden te voorkomen.
+ </para>
+ <para>
+ Zie ook <function>hebrevc</function>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.hebrevc">
+ <refnamediv>
+ <refname>hebrevc</refname>
+ <refpurpose>
+ Converteert logische Hebreeuwse tekst naar visuele tekst met newline conversie
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>hebrevc</function></funcdef>
+ <paramdef>string <parameter>hebrew_text</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>max_chars_per_line</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie is gelijk aan <function>hebrev<function> met het verschil
+ dat het newlines (\n) converteert naar "<br>\n".
+ De optionele parameter <parameter>max_chars_per_line<parameter>
+ geeft het maxium aantal karakters per regel aan die weergegeven worden.
+ De functie probeert om het breken van woorden te voorkomen.
+ </para>
+ <para>
+ Zie ook <function>hebrev</function>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.htmlentities">
+ <refnamediv>
+ <refname>htmlentities</refname>
+ <refpurpose>
+ Converteert alle van toepassing zijnde karakters naar HTML entities
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>htmlentities</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ <paramdef>int <parameter><optional>quote_style</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie is identiek aan <function>htmlspecialchars</function>
+ in alle opzichten, behalve dat alle karakters met HTML karakter entity
+ equivalents worden vertaald naar deze entities. Net als
+ <function>htmlspecialchars</function> neemt het een optioneel tweede
+ argument die aangeeft wat er gedaan moet worden met enkele en dubbele
+ quotes.
+ <constant>ENT_COMPAT</constant> (de default)
+ converteert alleen dubbele quotes en laat enkele quotes met rust.
+ <constant>ENT_QUOTES</constant> converteert zowel enkele als dubbele
+ quotes, en <constant>ENT_NOQUOTES</constant> laat zowel de enkele als
+ dubbele quotes ongeconverteerd.
+ </para>
+ <para>
+ Hedendaags wordt de ISO-8859-1 karakter set gebruikt. Let er op dat
+ het optionele tweede argument toegevoegd was in PHP 3.0.17 en PHP 4.0.3.
+ </para>
+ <para>
+ Zie ook <function>htmlspecialchars</function> en
+ <function>nl2br</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.htmlspecialchars">
+ <refnamediv>
+ <refname>htmlspecialchars</refname>
+ <refpurpose>
+ Converteert speciala karakters naar HTML entities
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>htmlspecialchars</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ <paramdef>int <parameter><optional>quote_style</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Bepaalde karakters hebben een speciale betekenis in HTML, en moeten
+ daarom weergegeven worden als HTML entities als die hun betekenissen
+ moeten behouden. Deze functie geeft een string terug waarin sommige van
+ deze conversies al gemaakt; de conversies die gemaakt worden zijn de
+ conversies die het meest gangbaar zijn in het alledaags web programmeren.
+ Als je wil dat alle HTML karakter entities geconverteerd worden moet
+ hiervoor <function>htmlentities</function> worden gebruikt.
+ </para>
+ <simpara>
+ Deze functie is nuttig om te voorkomen dat gebruiker-ingevoerde
+ tekst HTML markup bevat, zoals in gastenboeken of andere applicaties.
+ Het optionele tweede argument, quote_style, vertelt de functie wat te
+ doen met enkele en dubbele quote karakters. De default mode, ENT_COMPAT,
+ is de terugwaards compatibele mode die alleen de dubbele quotes vertaalt,
+ en dus niet de enkele quotes. Als ENT_QUOTES is geactiveerd, zullen zowel
+ enkele als dubbele quotes worden geconverteerd en als ENT_NOQUOTES is
+ geactiveerd zal de functie beide enkele en dubbele quotes niet converteren.
+ </simpara>
+ <para>
+ De uitgevoerde conversies zijn:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ '&' (ampersand) wordt '&amp;'
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ '"' (dubbele quote) wordt '&quot;' wanneer ENT_NOQUOTES niet
+geactiveerd is.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ ''' (enkele quote) wordt '&#039;' alleen wanneer ENT_QUOTES
+geactiveerd is.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ '<' (kleiner dan) wordt '&lt;'
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ '>' (groter dan) wordt '&gt;'
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ <example>
+ <title><function>htmlspecialchars</function> example</title>
+ <programlisting role="php">
+$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Merk op dat deze functie alles wat hierboven niet weergegeven is ook niet
+ converteert. Voor conversie van alle entities, zie
+ <function>htmlentities</function>. Let op dat het optionele tweede argument
+ toegevoegd is in PHP 3.0.17 en PHP 4.0.3.
+ </para>
+ <para>
+ Zie ook <function>htmlentities</function> en
+ <function>nl2br</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.implode">
+ <refnamediv>
+ <refname>implode</refname>
+ <refpurpose>Voeg array elementen samen met een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>implode</function></funcdef>
+ <paramdef>string <parameter>glue</parameter></paramdef>
+ <paramdef>array <parameter>pieces</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft een string terug die de string representatie van alle
+ array elementen in dezelfde volgorde, met de glue string tussen
+ elk element bevat.
+ <example>
+ <title><function>Implode</function> example</title>
+ <programlisting role="php">
+$colon_separated = implode (":", $array);
+ </programlisting>
+ </example>
+ </para>
+ <note>
+ <para>
+ <function>implode</function> kan, om historische redenen, haar parameters
+ in willekeurige volgorde accepteren. Voor consistency met
+ <function>explode</function>, echter, zou het minder verwarrend zijn
+ als je de gedocumenteerde volgorde van de argumenten vasthoudt.
+ </para>
+ </note>
+ <simpara>
+ Zie ook <function>explode</function>, <function>join</function>,
+ en <function>split</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.join">
+ <refnamediv>
+ <refname>join</refname>
+ <refpurpose>Voeg array elements samen met een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>join</function></funcdef>
+ <paramdef>string <parameter>glue</parameter></paramdef>
+ <paramdef>array <parameter>pieces</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ <function>join</function> is een alias naar
+ <function>implode</function>, en is identiek in ieder opzicht.
+ </simpara>
+ <simpara>
+ Zie ook <function>explode</function>, <function>implode</function>,
+ en <function>split</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.levenshtein">
+ <refnamediv>
+ <refname>levenshtein</refname>
+ <refpurpose>
+ Berekent de Levenshtein afstand tussen twee strings
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>levenshtein</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>int <function>levenshtein</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ <paramdef>int <parameter>cost_ins</parameter></paramdef>
+ <paramdef>int <parameter>cost_rep</parameter></paramdef>
+ <paramdef>int <parameter>cost_del</parameter></paramdef>
+ </funcprototype>
+ <funcprototype>
+ <funcdef>int <function>levenshtein</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ <paramdef>function <parameter>cost</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie geeft de Levenshtein-afstand tussen de twee
+ argument strings of -1 weer, als een van de argumenten is
+ langer dan de grens van 255 karakters (255 zou meer dan genoeg
+ moeten zijn voor naam of dictionary vergelijking, en een serieus
+ persoon zou geen genetische analyses gaan doen met PHP).
+ </para>
+ <para>
+ De Levenshtein afstand is gedefnieerd als het minimum aantal
+ karakters die vervangen, ingevoegd of verwijderd moeten worden
+ om <parameter>str1</parameter> naar <parameter>str2</parameter>
+ te transformeren.
+ De complexiteit van het algoritme is <literal>O(m*n)</literal>,
+ waar <literal>n</literal> en <literal>m</literal> de lengte zijn
+ van <parameter>str1</parameter> en <parameter>str2</parameter>
+ (vrij goed vergeleken met <function>similar_text</function>, wat
+ O(max(n,m)**3) is, maar nog vrij kostbaar).
+ </para>
+ <para>
+ In haar meest simpele vorm neemt de functie alleen de twee
+ strings als parameter en zal het alleen het aantal invoeg- vervang-
+ en verwijderbewerkingen berekenen die nodig zijn voor het transformeren
+ van <parameter>str1</parameter> in <parameter>str2</parameter>.
+ </para>
+ <para>
+ Een tweede variant neemt 3 parameters die de kosten van de
+ invoeg- vervang- en verwijderbewerkingen definieren.
+ Dit is meer algemeen en aanpasbaar dan de eerste variant, maar
+ minder efficient.
+ </para>
+ <para>
+ De derde variant (welke nog niet geimplementeerd is) zal de
+ meest algemene en aanpasbare, maar ook het meest
+ trage alternatief worden.
+ Deze zal een user-voorziene functie aanspreken die zal bepalen wat
+ de kost zal zijn voor elke mogelijke bewerking.
+ </para>
+ <para>
+ De uservoorziene functie zal worden aangesproken met de volgende
+ argumenten:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ uit te voeren bewerking: 'I', 'R' or 'D'
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ betreffende karakter in string 1
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ betreffende karakter in string 2
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ positie in string 1
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ positie in string 2
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ overblijvende karakters in string 1
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ overblijvende karakters in string 2
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ De user-voorziene functie moet een positieve integer teruggeven,
+ die de kost voor deze bewerking beschrijft, maar het mag alleen
+ maar sommige van de meegegeven argumenten gebruiken.
+ </para>
+ <para>
+ De user-voorziene functie aanpak biedt de mogelijkheid om op te
+ nemen de relevantie van en/of de mogelijkheid tot het opnemen van
+ verschil tussen bepaalde symbolen (karakters) of zelfs de context
+ waarin deze symbolen verschijnen om de kost van de invoeg- vervang-
+ en verwijderbewerkingen te bepalen, maar tegen de kost van het
+ verliezen van alle optimalisatie de gedaan wordt met betrekking
+ tot cpu register utilisatie en cache missingen die in de andere
+ varianten opgenomen zijn.
+ </para>
+ <para>
+ Zie ook <function>soundex</function>,
+ <function>similar_text</function>
+ en <function>metaphone</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.ltrim">
+ <refnamediv>
+ <refname>ltrim</refname>
+ <refpurpose>
+ Stript whitespace van het begin van een string
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>ltrim</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie stript whitespace van het begin van een string en
+ geeft de gestripte string terug. De whitespace karakters die
+ momenteel gestript worden zijn: "\n", "\r", "\t",
+"\v", "\0",
+ en normale space.
+ </para>
+ <para>
+ Zie ook <function>chop</function>, <function>rtrim</function>, and
+ <function>trim</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.md5">
+ <refnamediv>
+ <refname>md5</refname>
+ <refpurpose>Berekent de md5 hash van een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>md5</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Calculeert de MD5 hash van <parameter>str</parameter> gebruik makend
+ van het <ulink url="&url.rfc;rfc1321.html">RSA Data Security, Inc.
+ MD5 Message-Digest Algorithm</ulink>.
+ </para>
+ <para>
+ Zie ook: <function>crc32</function>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.metaphone">
+ <refnamediv>
+ <refname>Metaphone</refname>
+ <refpurpose>Berekent de metaphone key van een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>metaphone</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Berekent de metaphone key van <parameter>str</parameter>.
+ </para>
+ <para>
+ Net zoals <function>soundex</function> metaphone genereert dezelfde
+ sleutel voor gelijk klinkende woorden. Het is preciezer dan
+ <function>soundex</function> omdat het de standaard regels
+ van de Engelse uitspraak kent. De door metaphone gegenereerde
+ keys zijn van variabele lengte.
+ </para>
+ <para>
+ Metaphone was ontwikkeld door Lawrence Philips
+ <[EMAIL PROTECTED]>
+ Het is beschreven in ["Practical Algorithms for Programmers",
+ Binstock & Rex, Addison Wesley, 1995].
+ <note>
+ <para>
+ Deze functie was toegevoegd in PHP 4.0.
+ </para>
+ </note>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.nl2br">
+ <refnamediv>
+ <refname>nl2br</refname>
+ <refpurpose>Converteert newlines naar HTML line breaks</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>nl2br</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft <parameter>string</parameter> met '<BR>' ingevoegd
+ voor alle newlines.
+ </para>
+ <para>
+ Zie ook <function>htmlspecialchars</function>,
+ <function>htmlentities</function> en
+ <function>wordwrap</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.ord">
+ <refnamediv>
+ <refname>Ord</refname>
+ <refpurpose>Geeft ASCII waarde van karakter</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>ord</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft ASCII waarde van het eerste karakter in
+ <parameter>string</parameter>
+ Deze functie vult <function>chr</function> aan.
+ <example>
+ <title><function>Ord</function> example</title>
+ <programlisting role="php">
+if (ord ($str) == 10) {
+ echo "Het eerste karakter van \$str is een line feed.\n";
+}
+ </programlisting>
+ </example>
+ </para>
+ <simpara>
+ Zie ook <function>chr</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.parse-str">
+ <refnamediv>
+ <refname>parse_str</refname>
+ <refpurpose>Parset de string in variabelen</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>void <function>parse_str</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>array <parameter><optional>arr</optional></parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Parset <parameter>str</parameter> alsof het een query string is
+ die met een URL meegegeven wordt en definieert variabelen in de huidige
+ scope. Als de tweede parameter <parameter>arr</parameter> ook meegegeven
+ wordt, worden de variabelen opgeslagen als array elementen.
+ </para>
+ <para>
+ <example>
+ <title>Het gebruik van <function>parse_str</function></title>
+ <programlisting role="php">
+$str = "first=waarde&second[]=dit+werkt&second[]=nogeen";
+parse_str($str);
+echo $first; /* print "waarde" */
+echo $second[0]; /* print "dit werkt" */
+echo $second[1]; /* print "nogeen" */
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.print">
+ <refnamediv>
+ <refname>print</refname>
+ <refpurpose>Output een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef><function>print</function></funcdef>
+ <paramdef>string <parameter>arg</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Output <parameter>arg</parameter>.
+ </simpara>
+ <simpara>
+ Zie ook: <function>echo</function>, <function>printf</function>,
+ en <function>flush</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.printf">
+ <refnamediv>
+ <refname>printf</refname>
+ <refpurpose>Output een geformatteerde string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>printf</function></funcdef>
+ <paramdef>string <parameter>format</parameter></paramdef>
+ <paramdef>mixed
+ <parameter><optional>args</optional></parameter>...
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Produceert output volgens <parameter>format</parameter>, hetgeen is
+ beschreven in de documentatie voor <function>sprintf</function>.
+ </simpara>
+ <simpara>
+ Zie ook: <function>print</function>, <function>sprintf</function>,
+ <function>sscanf</function>, <function>fscanf</function>,
+ en <function>flush</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.quoted-printable-decode">
+ <refnamediv>
+ <refname>quoted_printable_decode</refname>
+ <refpurpose>
+ Converteert een quoted-printable string naar een 8 bit string
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string
+ <function>quoted_printable_decode</function>
+ </funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Deze functie retourneert een 8-bit binaire string die correspondeert
+ met de gedecodeerde quoted printable string. Deze functie is vergelijkbaar
+ met <function>imap_qprint</function>, alleen deze functie heeft geen IMAP
+ module nodig om te werken.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.quotemeta">
+ <refnamediv>
+ <refname>quotemeta</refname>
+ <refpurpose>Quote meta characters</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>quotemeta</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft een versie van str met een backslash (<literal>\</literal>)
+ voor elk karakter in deze reeks: <screen>. \\ + * ? [ ^ ] ( $ )</screen>
+ </para>
+ <simpara>
+ Zie ook <function>addslashes</function>,
+ <function>htmlentities</function>,
+ <function>htmlspecialchars</function>,
+ <function>nl2br</function>, en
+ <function>stripslashes</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.rtrim">
+ <refnamediv>
+ <refname>rtrim</refname>
+ <refpurpose>Verwijder nakomende whitespace.</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcdef>string <function>rtrim</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcsynopsis>
+ <para>
+ Geeft de argument string terug zonder nakomende whitespace, inclusief
+ newlines. Deze functie is een alias voor <function>chop</function>.
+ <example>
+ <title><function>rtrim</function> example</title>
+ <programlisting role="php">
+$trimmed = rtrim ($line);
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Zie ook <function>trim</function>, <function>ltrim</function>, en
+ <function>rtrim</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.sscanf">
+ <refnamediv>
+ <refname>sscanf</refname>
+ <refpurpose>Parset input van een string volgens een format</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>mixed <function>sscanf</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>string <parameter>format</parameter></paramdef>
+ <paramdef>string
+ <parameter><optional>var1</optional></parameter>...
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ De functie <function>sscanf</functoin> is de input analoog van
+ <function>printf</function>. <function>sscanf</function> leest
+ van de string <parameter>str</parameter> en interpreteert die volgens
+ de gespecificeerde format. Als alleen twee parameters zouden worden
+ meegegeven met deze functie, zal de geparste waarde worden teruggeven
+ als een array.
+ <example>
+ <title><function>Sscanf</function> Example</title>
+ <programlisting role="php">
+// ophalen van serial number
+$serial = sscanf("SN/2350001","SN/%d");
+// en de datum van productie
+$mandate = "January 01 2000";
+list($month, $day, $year) = sscanf($mandate,"%s %d %d");
+echo "Item $serial was gefabriceerd op:
+$year-".substr($month,0,3)."-$day\n";
+ </programlisting>
+ </example>
+ Als optionele parameters worden meegegeven, zal de functie het aantal
+ opgegeven waarden terug geven. De optionele parameters moeten worden
+ refentieel worden meegegeven.
+ <example>
+ <title><function>Sscanf</function> - using optional parameters</title>
+ <programlisting role="php">
+// haal auteursinfo op en genereer DocBook entry
+$auth = "24\tLewis Carroll";
+$n = sscanf($auth,"%d\t%s %s", &$id, &$first, &$last);
+echo "<author id='$id'>
+<firstname>$first</firstname>
+<surname>$last</surname>
+</author>\n";
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Zie ook: <function>fscanf</function>, <function>printf</function>,
+ en <function>sprintf</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.setlocale">
+ <refnamediv>
+ <refname>setlocale</refname>
+ <refpurpose>Definieer locale informatie</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>setlocale</function></funcdef>
+ <paramdef>string <parameter>category</parameter></paramdef>
+ <paramdef>string <parameter>locale</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <parameter>Category</parameter> is een string die de categorie
+ specifieert van de functies die worden beinvloed worden door
+ de locale setting:
+ <itemizedlist>
+ <listitem>
+ <simpara>
+ LC_ALL voor alle onderstaande
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ LC_COLLATE voor string vergelijking - momenteel niet
+ geïmplementeerd in PHP
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ LC_CTYPE voor karakter classificatie en conversie,
+ bijvoorbeeld <function>strtoupper</function>
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ LC_MONETARY voor localeconv() - momenteel niet geïmplementeerd
+ in PHP
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ LC_NUMERIC voor decimal scheidingsteken
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ LC_TIME voor datum en tijd formattering met
+ <function>strftime</function>
+ </simpara>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Als <parameter>locale</parameter> een lege string is
+ <literal>""</literal>, de locale namen zullen gedefinieerd
+ worden door de waarden van de environment-variables met dezelfde
+ namen als bovenstaande categorieen, of door "LANG".
+ </para>
+ <para>
+ Als locale 0 of <literal>"0"</literal> is, zal de locale setting
+ niet aangetast worden, alleen de huidige setting wordt dan teruggegeven.
+ </para>
+ <para>
+ Setlocale retourneert de nieuwe huidige locale, of false als de locale
+ functionaliteit niet geimplementeerd is op het platform, de gespecifieerde
+ locale niet bestaat of als de categorie naam incorrect is.
+ Een incorrecte categorie naam zal ook een waarschuwingsboodschap genereren.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.similar-text">
+ <refnamediv>
+ <refname>similar_text</refname>
+ <refpurpose>
+ Berekent de overeenkomsten tussen 2 strings
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>similar_text</function></funcdef>
+ <paramdef>string <parameter>first</parameter></paramdef>
+ <paramdef>string <parameter>second</parameter></paramdef>
+ <paramdef>double
+ <parameter><optional>percent</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie berekent de overeenkomsten tussen twee strings
+ als beschreven in Oliver [1993]. Merk op dat deze implementatie
+ geen stack gebruikt als in Oliver's pseudo code, maar recursieve
+ functie-aanroepen die de snelheid van het hele proces niet altijd ten
+ goede komen. Merk ook op dat de complexiteit van dit algoritme O(N**3)
+ is, waar N de lengte van de langste string is.
+ </para>
+ <para>
+ Door een referentie mee te geven als derde argument,
+ zal <function>similar_text</function> de overeenkomstigheid
+ berekenen in procenten. Het geeft het aantal overeenkomende karakters
+ in de strings weer.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.soundex">
+ <refnamediv>
+ <refname>soundex</refname>
+ <refpurpose>Berekent de soundex key van een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>soundex</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Berekent de sounex key van <parameter>str</parameter>.
+ </para>
+ <para>
+ Soundex keys hebben de eigenschap dat woorden die overeenkomend
+ worden uitgesproken dezelfde soundex key hebben, en kunnen daarom
+ gebruikt worden om zoekopdrachten in databases simpeler te maken
+ waar je weet wat de uitspraak is, en niet de spelling.
+ Deze functie retourneert een string van 4 karakters, beginnend met
+ een letter.
+ </para>
+ <para>
+ Deze funtie is er een die beschreven is door Donald Knuth
+ in "The Art Of Computer Programming, vol. 3: Sorting And
+ Searching", Addison-Wesley (1973), pp. 391-392.
+ </para>
+ <para>
+ <example>
+ <title>Soundex Voorbeelden</title>
+ <programlisting role="php">
+soundex ("Euler") == soundex ("Ellery") == 'E460';
+soundex ("Gauss") == soundex ("Ghosh") == 'G200';
+soundex ("Hilbert") == soundex ("Heilbronn") == 'H416';
+soundex ("Knuth") == soundex ("Kant") == 'K530';
+soundex ("Lloyd") == soundex ("Ladd") == 'L300';
+soundex ("Lukasiewicz") == soundex ("Lissajous") == 'L222';
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.sprintf">
+ <refnamediv>
+ <refname>sprintf</refname>
+ <refpurpose>Geeft een geformatteerde string weer</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>sprintf</function></funcdef>
+ <paramdef>string <parameter>format</parameter></paramdef>
+ <paramdef>mixed
+ <parameter><optional>args</optional></parameter>...
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Geeft een string weer die geproduceerd is volgens de formatting string
+ <parameter>format</parameter>.
+ </simpara>
+ <simpara>
+ De format string bestaat uit nul of meer directives:
+ normale karakters (uitgezonderd <literal>%</literal>) die
+ rechtstreeks gekopieerd worden naar het resultaat, en
+ <emphasis>conversie specificaties</emphasis>, die elk resulteren
+ in het opvangen van zijn eigen parameter. Dit is van toepassing
+ op <function>sprintf</function> als wel <function>printf</function>.
+ </simpara>
+ <para>
+ Elke conversie specificatie bestaat uit een procent teken
+ (<literal>%</literal>), gevolgd door een of meer van deze
+ elementen, in volgorde:
+ <orderedlist>
+ <listitem>
+ <simpara>
+ Een optionele <emphasis>padding specifier</emphasis> die
+ bepaalt welk karakter er wordt gebruikt voor het padden
+ van de resultaten naar de correcte string lengte.
+ Dit kan een space karakter of een <literal>0</literal> (nul
+ karakter) zijn. Een afwisselend padding karakter kan gespecificeerd
+ worden door een enkele quote (<literal>'</literal>) mee te geven.
+ Zie de voorbeelden hieronder.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Een optionele <emphasis>alignment specifier</emphasis> die vertelt
+ of het resultaat links of rechts uitgelijnd moet worden.
+ De default is rechts uitgelijnd; een <literal>-</literal> karakter
+ kan gebruikt worden voor het links uitlijnen.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Een optioneel nummer, een <emphasis>width specifier</emphasis>
+ die vertelt hoeveel karakters (minimaal) in moet resulteren.
+ </simpara>
+ </listitem>
+ <listitem>
+ <simpara>
+ Een optionele <emphasis>precision specifier</emphasis> die vertelt
+ hoeveel decimale cijfers er moeten weergegeven voor floating-point
+ getallen. Deze optie heeft geen effect op andere types dan double.
+ (Een andere functie die nuttig is voor het formatteren van nummers
+ is <function>number_format</function>.)
+ </simpara>
+ </listitem>
+ <listitem>
+ <para>
+ Een <emphasis>type specifier</emphasis> die vertelt volgens welk
+ type de argument data moet behandeld worden. Mogelijke types:
+ <simplelist>
+ <member>
+ <literal>%</literal> - een literal procent karakter. Geen
+ argument nodig.
+ </member>
+ <member>
+ <literal>b</literal> - het argument wordt behandeld als een
+ integer, en gepresenteerd als een binair getal.
+ </member>
+ <member>
+ <literal>c</literal> - het argument wordt behandeld als een
+ integer, en gepresenteerd als het karakter met die ASCII waarde.
+ </member>
+ <member>
+ <literal>d</literal> - het argument wordt behandeld als een
+ integer, en gepresenteerd als een decimaal nummer.
+ </member>
+ <member>
+ <literal>f</literal> - het argument wordt behandeld als een double,
+ en wordt gepresenteerd als een floating point nummer.
+ </member>
+ <member>
+ <literal>o</literal> - het argument wordt behandeld als een
+ integer, and gepresenteerd als een octaal nummer.
+ </member>
+ <member>
+ <literal>s</literal> - het argument wordt behandeld als en
+ gepresenteerd als een string.
+ </member>
+ <member>
+ <literal>x</literal> - het argument wordt behandeld als een integer
+ en gepresenteerd als een hexadecimal number (met kleine
+ letters).
+ </member>
+ <member>
+ <literal>X</literal> - het argument wordt behandeld als een integer
+ en gepresenteerd als een hexadecimaal nummer (met hoofdletters).
+ </member>
+ </simplelist>
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ <simpara>
+ Zie ook: <function>printf</function>, <function>sscanf</function>,
+ <function>fscanf</function>, en <function>number_format</function>.
+ </simpara>
+ </refsect1>
+ <refsect1>
+ <title>Voorbeelden</title>
+ <para>
+ <example>
+ <title><function>Sprintf</function>: nul-padded integers</title>
+ <programlisting role="php">
+$isodate = sprintf ("%04d-%02d-%02d", $year, $month, $day);
+ </programlisting>
+ </example>
+ <example>
+ <title><function>Sprintf</function>: formatteren van valuta-eenheden</title>
+ <programlisting role="php">
+$money1 = 68.75;
+$money2 = 54.35;
+$money = $money1 + $money2;
+// echo $money zal geven "123.1";
+$formatted = sprintf ("%01.2f", $money);
+// echo $formatted zal geven "123.10"
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strcasecmp">
+ <refnamediv>
+ <refname>strcasecmp</refname>
+ <refpurpose>
+ Binary safe hoofdletter ongevoelige string vergelijking
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strcasecmp</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Retourneert < 0 als <parameter>str1</parameter> minder is
+ dan <parameter>str2</parameter>; > 0 als <parameter>str1</parameter>
+ groter is dan <parameter>str2</parameter>, en 0 als deze gelijk zijn.
+ <example>
+ <title><function>strcasecmp</function> voorbeeld</title>
+ <programlisting role="php">
+$var1 = "Hallo";
+$var2 = "hallo";
+if (!strcasecmp ($var1, $var2)) {
+ echo '$var1 is gelijk aan $var2 in een hoofdletter ongevoelige string
+vergelijking';
+}
+ </programlisting>
+ </example>
+ </para>
+ <simpara>
+ Zie ook <function>ereg</function>, <function>strcmp</function>,
+ <function>substr</function>, <function>stristr</function>, en
+ <function>strstr</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strchr">
+ <refnamediv>
+ <refname>strchr</refname>
+ <refpurpose>
+ Vind de eerst voorkomende positie van een karakter
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>strchr</function></funcdef>
+ <paramdef>string <parameter>haystack</parameter></paramdef>
+ <paramdef>string <parameter>needle</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie is een alias voor <function>strstr</function> en is
+ identiek in alle opzichten.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strcmp">
+ <refnamediv>
+ <refname>strcmp</refname>
+ <refpurpose>Binary safe string vergelijking</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strcmp</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Geeft < 0 terug als <parameter>str1</parameter> minder is dan
+ <parameter>str2</parameter>; > 0 als <parameter>str1</parameter>
+ groter is dan <parameter>str2</parameter>, en 0 als ze gelijk zijn.
+ </simpara>
+ <simpara>
+ Merk op dat deze functie hoofdletter gevoelig is.
+ </simpara>
+ <simpara>
+ Zie ook <function>ereg</function>,
+ <function>strcasecmp</function>, <function>substr</function>,
+ <function>stristr</function>, <function>strncmp</function>,
+ en <function>strstr</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strcspn">
+ <refnamediv>
+ <refname>strcspn</refname>
+ <refpurpose>
+ Vind de lengte van een initieel segment die niet aan de mask voldoet
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strcspn</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Geeft de lengte van het initiele segment van <parameter>str1</parameter>
+ die <emphasis>geen</emphasis> van de karakters in <parameter>str2</parameter>
+ bevat.
+ </simpara>
+ <simpara>
+ Zie ook <function>strspn</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strip-tags">
+ <refnamediv>
+ <refname>strip_tags</refname>
+ <refpurpose>Strip HTML en PHP tags van een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>strip_tags</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>string
+ <parameter><optional>allowable_tags</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze funtie probeert alle HTML en PHP tags te strippen van de
+ gegeven string. Het gebruikt dezelfde tag stripping methodiek
+ als <function>fgetss</function> functie.
+ </para>
+ <para>
+ Je kan de optionele tweede parameter gebruiken om tags te specifieren
+ die niet gestript moeten worden.
+ <note>
+ <para>
+ <parameter>Allowable_tags</parameter> was toegevoegd in PHP 3.0.13,
+ PHP4B3.
+ </para>
+ </note>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.stripcslashes">
+ <refnamediv>
+ <refname>stripcslashes</refname>
+ <refpurpose>
+ Un-quote een string quoted met <function>addcslashes</function>
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>stripcslashes</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft een string terug met backslashes gestript. Herkent C-achtige
+ <literal>\n</literal>, <literal>\r</literal> ..., octale en
+ hexadecimale representatie.
+ <note>
+ <simpara>
+ Toegevoegd in PHP4b3-dev.
+ </simpara>
+ </note>
+ </para>
+ <simpara>
+ Zie ook <function>addcslashes</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.stripslashes">
+ <refnamediv>
+ <refname>stripslashes</refname>
+ <refpurpose>
+ Un-quote een string quoted met <function>addslashes</function>
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>stripslashes</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft een string met backslashes gestript. (<literal>\'<literal> wordt
+ <literal>'</literal> enzovoort.)
+ Dubbele backslashes worden enkele backslashes.
+ </para>
+ <simpara>
+ Zie ook <function>addslashes</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.stristr">
+ <refnamediv>
+ <refname>stristr</refname>
+ <refpurpose>
+ Hoofdletter-ongevoelige <function>strstr</function>
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>stristr</function></funcdef>
+ <paramdef>string <parameter>haystack</parameter></paramdef>
+ <paramdef>string <parameter>needle</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft alle van <parameter>haystack</parameter> van het eerste voorkomen
+ van <parameter>needle</parameter> naar het eind.
+ <parameter>needle</parameter> en <parameter>haystack</parameter>
+ worden behandeld op een hoofdletter-ongevoelige manier.
+ </para>
+ <para>
+ Als <parameter>needle</parameter> niet gevonden wordt, geeft false.
+ </para>
+ <para>
+ Als <parameter>needle</parameter> geen string is, wordt die geconverteerd
+ naar een integer en toegepast als de ordinale waarde van een karakter.
+ </para>
+ <para>
+ Zie ook <function>strchr</function>,
+ <function>strrchr</function>, <function>substr</function>, en
+ <function>ereg</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strlen">
+ <refnamediv>
+ <refname>strlen</refname>
+ <refpurpose>Haal string lengte op</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strlen</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft de lengte van <parameter>string</parameter>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strnatcmp">
+ <refnamediv>
+ <refname>strnatcmp</refname>
+ <refpurpose>
+ String vergelijking gebruikmakend van een "natural order" algoritme
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strnatcmp</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie implementeert een vergelijkingsalgoritme die
+ alfanumerieke strings sorteert op een manier zoals een mens
+ dat zou doen, dit is beschreven als een "natural ordering".
+ Een voorbeeld van het verschil tussen dit algoritme en normale
+ computer string sorting algoritmes (gebruikt in <function>strcmp</function>)
+ kan je hieronder vinden.
+ <informalexample>
+ <programlisting>
+$arr1 = $arr2 = array
+("img12.png","img10.png","img2.png","img1.png");
+echo "Standard string vergelijking\n";
+usort($arr1,"strcmp");
+print_r($arr1);
+echo "\nNatural order string vergelijking\n";
+usort($arr2,"strnatcmp");
+print_r($arr2);
+ </programlisting>
+ </informalexample>
+ De code hierboven zal de volgende output genereren:
+ <informalexample>
+ <programlisting>
+Standaard string vergelijking
+Array
+(
+ [0] => img1.png
+ [1] => img10.png
+ [2] => img12.png
+ [3] => img2.png
+)
+
+Natural order string vergelijking
+Array
+(
+ [0] => img1.png
+ [1] => img2.png
+ [2] => img10.png
+ [3] => img12.png
+)
+ </programlisting>
+ </informalexample>
+ Voor meer informatie zie: Martin Pool's <ulink
+ url="&url.strnatcmp;">Natural Order String Comparison</ulink>
+ page.
+ </para>
+ <simpara>
+ Vergelijkbaar met andere string vergelijking functies, retourneert deze
+ functie < 0 als <parameter>str1</parameter> minder is dan
+ <parameter>str2</parameter>; > 0 als <parameter>str1</parameter>
+ groter is dan <parameter>str2</parameter>, en 0 als deze gelijk zijn.
+ </simpara>
+ <simpara>
+ Merk op dat deze functie hoofdletter gevoelig is.
+ </simpara>
+ <simpara>
+ Zie ook <function>ereg</function>,
+ <function>strcasecmp</function>, <function>substr</function>,
+ <function>stristr</function>, <function>strcmp</function>,
+ <function>strncmp</function>, <function>strnatcasecmp</function>,
+ <function>strstr</function>, <function>natsort</function> en
+ <function>natcasesort</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strnatcasecmp">
+ <refnamediv>
+ <refname>strnatcasecmp</refname>
+ <refpurpose>
+ Hoofdletter ongevoelige string vergelijking gebruik makend van een
+ "natural order" algoritme
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strnatcasecmp</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie implementeert een vergelijkingsalgoritme die
+ alfanumerieke strings sorteert op een manier zoals mensen
+ dat zouden doen. Het gedrag van deze functie is vergelijkbaar
+ met <function>strnatcmp</function>, behalve dat de vergelijking
+ niet hoofdletter gevoelig is.
+ Voor meer informatie zie: Martin Pool's
+ <ulink url="&url.strnatcmp;">Natural Order String
+ Comparison</ulink> pagina.
+ </para>
+ <simpara>
+ Vergelijkbaar met andere string vergelijking functies, geeft deze
+ functie < 0 als <parameter>str1</parameter> kleiner is dan
+ <parameter>str2</parameter>; > 0 als <parameter>str1</parameter>
+ groter is dan <parameter>str2</parameter>, en 0 als deze gelijk zijn.
+ </simpara>
+ <simpara>
+ Zie ook <function>ereg</function>,
+ <function>strcasecmp</function>, <function>substr</function>,
+ <function>stristr</function>, <function>strcmp</function>,
+ <function>strncmp</function>, <function>strnatcmp</function>,
+ en <function>strstr</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strncmp">
+ <refnamediv>
+ <refname>strncmp</refname>
+ <refpurpose>
+ Binary safe string vergelijking van de eerste n karakters
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strncmp</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ <paramdef>int <parameter>len</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie is vergelijkbaar met <function>strcmp</function>, met
+ het verschil dat je het aantal karakters (<parameter>len</parameter>)
+ kan specifieren van de string die in de vergelijking gebruikt moet worden.
+ Als 1 van de strings korter is dan <parameter>len</parameter> dan zal de
+ lengte van de string gebruikt worden.
+ </para>
+ <simpara>
+ Geeft < 0 terug als <parameter>str1</parameter> kleiner is dan
+ <parameter>str2</parameter>; > 0 als <parameter>str1</parameter>
+ groter is dan <parameter>str2</parameter>, en 0 als beide gelijk zijn.
+ </simpara>
+ <simpara>
+ Merk op dat deze vergelijking hoofdletter gevoelig is.
+ </simpara>
+ <simpara>
+ Zie ook <function>ereg</function>,
+ <function>strcasecmp</function>, <function>substr</function>,
+ <function>stristr</function>, <function>strcmp</function>,
+ en <function>strstr</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.str-pad">
+ <refnamediv>
+ <refname>str_pad</refname>
+ <refpurpose>Pad een string naar een bepaalde lengte met een andere
+string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>str_pad</function></funcdef>
+ <paramdef>string <parameter>input</parameter></paramdef>
+ <paramdef>int <parameter>pad_length</parameter></paramdef>
+ <paramdef>string
+ <parameter><optional>pad_string</optional></parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>pad_type</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie pad ('vult op') de <parameter>input</parameter> string
+ links, rechts of beide kanten op tot de gespecifieerde lengte.
+ Als het optionele argument <parameter>pad_string</parameter>
+ niet beschikbaar is dan wordt <parameter>input</parameter> gepad
+ met spaties, anders wordt de string gepad met karakters van
+ <parameter>pad_string</parameter> tot aan het opgegeven maximum.
+ </para>
+
+ <para>
+ Optioneel argument <parameter>pad_type</parameter> kan zijn
+ STR_PAD_RIGHT, STR_PAD_LEFT, of STR_PAD_BOTH. Als
+ <parameter>pad_type</parameter> niet is gegeven, wordt uitgegaan van
+ STR_PAD_RIGHT.
+ </para>
+
+ <para>
+ Als de waarde van <parameter>pad_length</parameter> negatief is of
+ kleiner dan de lengte van de input string, vindt er geen padding plaats.
+ </para>
+
+ <para>
+ <example>
+ <title><function>str_pad</function> voorbeeld</title>
+ <programlisting role="php">
+$input = "Alien";
+print str_pad($input, 10); // produceert "Alien "
+print str_pad($input, 10, "-=", STR_PAD_LEFT); // produceert
+"-=-=-Alien"
+print str_pad($input, 10, "_", STR_PAD_BOTH); // produceert
+"__Alien___"
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strpos">
+ <refnamediv>
+ <refname>strpos</refname>
+ <refpurpose>
+ Vindt de positie van het eerste voorkomen van een string
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strpos</function></funcdef>
+ <paramdef>string <parameter>haystack</parameter></paramdef>
+ <paramdef>string <parameter>needle</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>offset</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft de numerieke positie van het eerste voorkmen van
+ <parameter>needle<parameter> in <parameter>haystack</parameter>.
+ Verschillend van de <function>strrpos</function>, kan deze functie
+ een hele string gebruiken als <parameter>needle</parameter> parameter,
+ die dan ook in zijn geheel gebruikt zal worden.
+ </para>
+ <para>
+ Als <parameter>needle</parameter> niet wordt gevonden, geeft deze functie false.
+ <note>
+ <para>
+ De return waardes "character found at position 0" en "character
+not found"
+ worden nogal eens door elkaar gehaald. Hier is de code om het verschil
+ te detecteren:
+ <informalexample>
+ <programlisting role="php">
+// in PHP 4.0b3 en nieuwer:
+$pos = strpos ($mystring, "b");
+if ($pos === false) { // opmerking: drie equal signs
+ // niet gevonden...
+}
+
+// in versies ouder dan 4.0b3:
+$pos = strpos ($mystring, "b");
+if (is_string ($pos) && !$pos) {
+ // niet gevonden...
+}
+ </programlisting>
+ </informalexample>
+ </para>
+ </note>
+ </para>
+ <para>
+ Als <parameter>needle</parameter> geen string is, zal die geconverteerd
+ worden naar een integer en toegepast worden als de ordinale waarde van een
+ karakter.
+ </para>
+ <para>
+ De optionele <parameter>offset</parameter> parameter maakt het
+ mogelijk om te specifieren bij welk karakter in <paramter>haystack</parameter>
+ begonnen moet worden met zoeken. De positie die teruggegeven wordt is
+ nog steeds relatief met het begin van <parameter>haystack</parameter>.
+ </para>
+ <para>
+ Zie ook <function>strrpos</function>,
+ <function>strrchr</function>, <function>substr</function>,
+ <function>stristr</function>, en <function>strstr</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strrchr">
+ <refnamediv>
+ <refname>strrchr</refname>
+ <refpurpose>
+ Vindt de positie van het laatste voorkomen van een string
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>strrchr</function></funcdef>
+ <paramdef>string <parameter>haystack</parameter></paramdef>
+ <paramdef>string <parameter>needle</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie retourneert het gedeelte van <parameter>haystack</parameter>
+ die start met het laatste voorkomen van <parameter>needle</parameter> en
+ gaat door tot het eind van <parameter>haystack</parameter>.
+ </para>
+ <para>
+ Geeft false als <parameter>needle</parameter> niet gevonden wordt.
+ </para>
+ <para>
+ Als <parameter>needle</parameter> meer dan 1 karakter bevat, wordt
+ het eerste karakter gebruikt.
+ </para>
+ <para>
+ Als <parameter>needle</parameter> geen string is, wordt deze
+ geconverteerd naar een integer en toegepast als de ordinale
+ waarde van een karakter.
+ <example>
+ <title><function>Strrchr</function> example</title>
+ <programlisting role="php">
+// vind de laatste directory in $PATH
+$dir = substr (strrchr ($PATH, ":"), 1);
+
+// pak alles na de laatste newline
+$text = "Line 1\nLine 2\nLine 3";
+$last = substr (strrchr ($text, 10), 1 );
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Zie ook <function>substr</function>,
+ <function>stristr</function>, en <function>strstr</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.str-repeat">
+ <refnamediv>
+ <refname>str_repeat</refname>
+ <refpurpose>Herhaalt een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>str_repeat</function></funcdef>
+ <paramdef>string <parameter>input</parameter></paramdef>
+ <paramdef>int <parameter>multiplier</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft <paramter>multiplier</parameter> herhalingen
+ van <parameter>input_str</parameter>.
+ <parameter>multiplier</parameter> moet groter zijn dan 0.
+ </para>
+ <example>
+ <title><function>Str_repeat</function> voorbeeld</title>
+ <programlisting role="php">
+echo str_repeat ("-=", 10);
+ </programlisting>
+ </example>
+ <para>
+ Dit geeft "-=-=-=-=-=-=-=-=-=-=".
+ </para>
+ <note>
+ <para>
+ Deze functie was toegevoegd in PHP 4.0.
+ </para>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strrev">
+ <refnamediv>
+ <refname>strrev</refname>
+ <refpurpose>Draait een string om</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>strrev</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft <parameter>string</parameter> omgekeerd.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strrpos">
+ <refnamediv>
+ <refname>strrpos</refname>
+ <refpurpose>
+ Vindt de positie van het laatste voorkomen van een karakter in een string
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strrpos</function></funcdef>
+ <paramdef>string <parameter>haystack</parameter></paramdef>
+ <paramdef>char <parameter>needle</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft de numerieke positie van het laatste voorkomen van
+ <parameter>needle</parameter> in de <parameter>haystack</parameter>
+ string. Merk op dat needle deze keer alleen een enkel karakter kan
+ zijn. Als in plaats daarvan een hele string wordt gegeven als de
+ needle wordt alleen het eerste karakter van die string gebruikt.
+ </para>
+ <para>
+ Als <parameter>needle</parameter> niet wordt gevonden retourneert
+ deze functie false.
+ </para>
+ <para>
+ Als <parameter>needle</parameter> geen string is, wordt het
+ geconverteerd naar een integer en toegepast als de ordinale
+ waarde van het karakter.
+ </para>
+ <para>
+ Zie ook <function>strpos</function>,
+ <function>strrchr</function>, <function>substr</function>,
+ <function>stristr</function>, en <function>strstr</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strspn">
+ <refnamediv>
+ <refname>strspn</refname>
+ <refpurpose>
+ Vindt de lengte van een initieel segment invoermasker
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>strspn</function></funcdef>
+ <paramdef>string <parameter>str1</parameter></paramdef>
+ <paramdef>string <parameter>str2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ Geeft de lengte van het initieel segment van
+ <parameter>str1</parameter> die uitsluitend bestaat uit
+ karakters in <parameter>str2</parameter>.
+ </simpara>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+strspn ("42 is het antwoord, wat is de vraag ...", "1234567890");
+ </programlisting>
+ <para>
+ zal 2 als resultaat geven.
+ </para>
+ </informalexample>
+ </para>
+ <simpara>
+ Zie ook <function>strcspn</function>.
+ </simpara>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strstr">
+ <refnamediv>
+ <refname>strstr</refname>
+ <refpurpose>Vindt eerste voorkomen van een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>strstr</function></funcdef>
+ <paramdef>string <parameter>haystack</parameter></paramdef>
+ <paramdef>string <parameter>needle</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft alles van <parameter>haystack</parameter> van het
+ eerste voorkomen van <parameter>needle</parameter> tot het
+ einde.
+ </para>
+ <para>
+ Als <parameter>needle</parameter> niet gevonden wordt, retourneert
+ deze functie false.
+ </para>
+ <para>
+ Als <parameter>needle</parameter> geen string is, wordt deze geconverteerd
+ naar een integer en toegepast als de ordinale waarde van dat karakter.
+ </para>
+ <para>
+ <note>
+ <para>
+ Onthoud dat deze functie hoofdletter-gevoelig is. Voor niet
+hoofdletter-gevoelige
+ toepassingsdoeleinden kan je <function>stristr</function> gebruiken.
+ </para>
+ </note>
+ </para>
+ <para>
+ <example>
+ <title><function>Strstr</function> voorbeeld</title>
+ <programlisting role="php">
+$email = '[EMAIL PROTECTED]';
+$domain = strstr ($email, '@');
+print $domain; // print @designmultimedia.com
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Zie ook <function>stristr</function>,
+ <function>strrchr</function>, <function>substr</function>, en
+ <function>ereg</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strtok">
+ <refnamediv>
+ <refname>strtok</refname>
+ <refpurpose>Verdeelt string in tokens</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>strtok</function></funcdef>
+ <paramdef>string <parameter>arg1</parameter></paramdef>
+ <paramdef>string <parameter>arg2</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>strtok</function> wordt gebruikt om een string in
+ tokens te verdelen. Bijvoorbeeld als je een string hebt als
+ "Dit is een voorbeeld string" zou je deze kunnen verdelen
+ in individuele woorden door de spatie als token te geven.
+ <example>
+ <title><function>Strtok</function> voorbeeld</title>
+ <programlisting role="php">
+$string = "Dit is een voorbeeld string";
+$tok = strtok ($string," ");
+while ($tok) {
+ echo "Word=$tok<br>";
+ $tok = strtok (" ");
+}
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Merk op dat alleen de eerste aanroep naar strtok het string
+ argument gebruikt. Bij elke volgende aanroep heeft strtok
+ alleen het token nodig, omdat het bijhoudt waar men gebleven
+ is in de string. Om opnieuw te beginnen of om een nieuwe
+ string te verdelen in tokens roep je strtok simpelweg aan
+ met het string argument om te initialiseren. Ja kan overigens
+ meerdere tokens in de token parameter megeven. De string zal
+ verdeeld worden wanneer ook maar 1 karakter in het argument
+ gevonden is.
+ </para>
+ <para>
+ Wees trouwens voorzichtig met gevallen wanneer je tokens gelijk
+ zijn aan "0". In conditionele expressies zal dit naar false
+ evalueren.
+ </para>
+ <para>
+ Zie ook <function>split</function> en
+ <function>explode</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strtolower">
+ <refnamediv>
+ <refname>strtolower</refname>
+ <refpurpose>Maak een string lowercase</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>strtolower</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft <parameter>string</parameter> met alle alfabetische
+ karakters geconverteerd naar lowercase.
+ </para>
+ <para>
+ Weet dat 'alfabetisch' wordt bepaald door de huidige locale. Dit
+ betekent bijvoorbeeld dat in de default "C" locale, karakters als
+ umlaut-A (�) niet zullen worden geconverteerd.
+ </para>
+ <example>
+ <title><function>Strtolower</function> voorbeeld</title>
+ <programlisting role="php">
+$str = "Mary Had A Little Lamb and She LOVED It So";
+$str = strtolower($str);
+print $str; # Print mary had a little lamb and she loved it so
+ </programlisting>
+ </example>
+ <para>
+ Zie ook <function>strtoupper</function>
+ en <function>ucfirst</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strtoupper">
+ <refnamediv>
+ <refname>strtoupper</refname>
+ <refpurpose>Maak een string uppercase</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>strtoupper</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Geeft <parameter>string</parameter> met alle alfabetische
+ karakters geconverteerd naar uppercase.
+ </para>
+ <para>
+ Weet dat 'alfabetisch' wordt bepaald door de huidige locale. Dit
+ betekent bijvoorbeeld dat in de default "C" locale, karakters als
+ umlaut-A (�) niet zullen worden geconverteerd.
+ </para>
+ <example>
+ <title><function>Strtoupper</function> voorbeeld</title>
+ <programlisting role="php">
+$str = "Mary Had A Little Lamb and She LOVED It So";
+$str = strtoupper ($str);
+print $str; # Print MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
+ </programlisting>
+ </example>
+ <para>
+ Zie ook <function>strtolower</function>
+ en <function>ucfirst</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.str-replace">
+ <refnamediv>
+ <refname>str_replace</refname>
+ <refpurpose>
+ Vervang alle voorkomens van needle in haystack met str
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>str_replace</function></funcdef>
+ <paramdef>string <parameter>needle</parameter></paramdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>string <parameter>haystack</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie vervangt alle voorkomens van <parameter>needle</parameter>
+ in <parameter>haystack</parameter> met de gegeven <parameter>str</parameter>.
+ Als je geen al te toffe vervangingsregels nodig hebt, wordt aangeraden
+ om altijd deze functie te gebruiken in plaats van
+<function>ereg_replace</function>.
+ <para>
+ <example>
+ <title><function>Str_replace</function> voorbeeld</title>
+ <programlisting role="php">
+$bodytag = str_replace ("%body%", "black", "<body
+text=%body%>");
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Deze functie is binary safe.
+ </para>
+ <note>
+ <para>
+ <function>Str_replace</function> was toegevoegd in PHP 3.0.6, maar
+ was buggy tot PHP 3.0.8.
+ </para>
+ </note>
+ <para>
+ Zie ook <function>ereg_replace</function> en
+ <function>strtr</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.strtr">
+ <refnamediv>
+ <refname>strtr</refname>
+ <refpurpose>Vertaal bepaalde karaketers</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>strtr</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>string <parameter>from</parameter></paramdef>
+ <paramdef>string <parameter>to</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie heeft effect op <parameter>str</parameter>, en vertaalt
+ alle voorkomens van elk karakter in <parameter>from</parameter>
+ naar het overeenkomende karakter in <parameter>to</parameter> en
+ retourneert het resultaat.
+ </para>
+ <para>
+ Als <parameter>from</parameter> en <parameter>to</parameter> van
+ verschillende lengte zijn, zullen de extra karakters in de langste
+ van de twee genegeerd worden.
+ <example>
+ <title><function>Strtr</function> voorbeeld</title>
+ <programlisting role="php">
+$addr = strtr($addr, "���", "aao");
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ <function>strtr</function> kan aangeroepen worden
+ met alleen twee argumenten. Als de functie wordt aangeroepen
+ met twee argumenten, reageert deze op een nieuwe manier:
+ <parameter>from</parameter> moet dan een array zijn die
+ string -> string paren bevat die worden vervangen in de source
+ string. <function>strtr</function> kijkt altijd eerst voor de langst
+ mogelijke match en zal *NIET* proberen om iets te vervangen wat
+ al behandeld is.
+ </para>
+ <para>
+ Examples:
+ <informalexample>
+ <programlisting role="php">
+$trans = array ("hello" => "hi", "hi" =>
+"hello");
+echo strtr("hi all, I said hello", $trans) . "\n";
+ </programlisting>
+ </informalexample>
+ Dit geeft weer: "hello all, I said hi",
+ </para>
+ <note>
+ <simpara>
+ Deze feature (twee argumenten) was toegevoegd in PHP 4.0.
+ </simpara>
+ </note>
+ <para>
+ Zie ook <function>ereg_replace</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.substr">
+ <refnamediv>
+ <refname>substr</refname>
+ <refpurpose>Geeft gedeelte van een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>substr</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ <paramdef>int <parameter>start</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>length</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Substr geeft een gedeelte van <parameter>string<parameter>
+ gespecificeerd door de <parameter>start</parameter>
+ en <parameter>length</parameter> parameters.
+ </para>
+ <para>
+ Als <parameter>start</parameter positief is, begint de terug
+ te geven string bij de positie van <parameter>start</paramter>
+ in <parameter>string</parameter>, beginnend vanaf nul.
+ Bijvoorbeeld in de string '<literal>abcdef</literal>', het
+ karakter op positie <literal>0</literal> is '<literal>a</literal>',
+ het karakter op positie <literal>2</literal> is '<literal>c</literal>',
+ enzovoort.
+ </para>
+ <para>
+ Voorbeeld:
+ <informalexample>
+ <programlisting role="php">
+$rest = substr ("abcdef", 1); // geeft "bcdef"
+$rest = substr ("abcdef", 1, 3); // geeft "bcd"
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Als <parameter>start</parameter> negatief is, zal de terug te
+ geven string beginnen op de positie van <parameter>start</parameter>
+ vanaf het einde van <parameter>string</parameter>.</para>
+ <para>
+ Voorbeelden:
+ <informalexample>
+ <programlisting role="php">
+$rest = substr ("abcdef", -1); // geeft "f"
+$rest = substr ("abcdef", -2); // geeft "ef"
+$rest = substr ("abcdef", -3, 1); // geeft "d"
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Als <paramter>length</parameter> gegeven is en die positief is,
+ zal de terug te geven string eindigen <parameter>length</parameter>
+ karakters van <parameter>start</parameter>. Als deze zou resulteren
+ in een string met een negatieve lengte (omdat de start na het einde
+ van de string is), dan zal de terug te geven string alleen het karakter
+ op de positie van <parameter>start</parameter> bevatten.
+ </para>
+ <para>
+ Als <paramter>length</parameter> gegeven is en die negatief is,
+ zal de terug te geven string eindigen <parameter>length</parameter>
+ karakters vanaf het eind van <parameter>string</parameter>. Als deze
+ zou resulteren in een string met een negatieve lengte, dan zal de
+ terug te geven string alleen het karakter op de positie van
+ <parameter>start</parameter> bevatten.
+ </para>
+ <para>
+ Voorbeelden:
+ <informalexample>
+ <programlisting role="php">
+$rest = substr ("abcdef", 1, -1); // geeft "bcde"
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Zie ook <function>strrchr</function> en
+ <function>ereg</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.substr-count">
+ <refnamediv>
+ <refname>substr_count</refname>
+ <refpurpose>Telt het aantal substrings in een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>substr_count</function></funcdef>
+ <paramdef>string <parameter>haystrack</parameter></paramdef>
+ <paramdef>string <parameter>needle</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>substr_count</function> geeft het aantal keren dat
+ de <parameter>needle</parameter> substring voorkomt in
+ <parameter>haystack</parameter>.
+ </para>
+
+ <para>
+ <example>
+ <title><function>substr_count</function> voorbeeld</title>
+ <programlisting>
+print substr_count("This is a test", "is"); // geeft 2
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.substr-replace">
+ <refnamediv>
+ <refname>substr_replace</refname>
+ <refpurpose>Vervangt tekst in een gedeelte van een string</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>substr_replace</function></funcdef>
+ <paramdef>string <parameter>string</parameter></paramdef>
+ <paramdef>string <parameter>replacement</parameter></paramdef>
+ <paramdef>int <parameter>start</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>length</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ <function>substr_replace</function> vervangt een gedeelte van
+ <parameter>string</parameter> delimited door
+ <parameter>start</parameter> en (optioneel)
+ <parameter>length</parameter> parameters met de string gegeven in
+ <parameter>replacement</parameter>. Het resultaat wordt weergegeven.
+ </para>
+ <para>
+ Als <parameter>start</parameter> positief is, zal het vervangen
+ beginnen bij <parameter>start</parameter> als offset in
+ <parameter>string</parameter>.
+ </para>
+ <para>
+ Als <parameter>start</parameter> negatief is, zal het vervangen
+ beginnen bij positie <parameter>start</parameter> vanaf het einde
+ van de <parameter>string</parameter>.
+ </para>
+ <para>
+ Als <parameter>length</parameter> gegeven is en die positief is,
+ representeert het de lengte van het gedeelte van <parameter>string</parameter>
+ die vervangen moet worden. Als <parameter>length</parameter> negatief is,
+ representeert het het aantal karakters vanaf het eind van
+ <parameter>string</parameter> waar die moet stoppen met vervangen.
+ Wanneer niet gegeven, dan zal dat resulteren in de default
+ strlen(<parameter>string</parameter>); dus stoppen met vervangen
+ aan het einde van <parameter>string</parameter>.
+ </para>
+ <para>
+ <example>
+ <title><function>Substr_replace</function> voorbeeld</title>
+ <programlisting role="php">
+<?php
+$var = 'ABCDEFGH:/MNRPQR/';
+echo "Original: $var<hr>\n";
+
+/* Deze twee voorbeelden vervangen alles van $var with 'bob'. */
+echo substr_replace ($var, 'bob', 0) . "<br>\n";
+echo substr_replace ($var, 'bob', 0, strlen ($var)) . "<br>\n";
+
+/* Voegt 'bob' aan het begin van $var. */
+echo substr_replace ($var, 'bob', 0, 0) . "<br>\n";
+
+/* Deze volgende twee vervangen 'MNRPQR' in $var met 'bob'. */
+echo substr_replace ($var, 'bob', 10, -1) . "<br>\n";
+echo substr_replace ($var, 'bob', -7, -1) . "<br>\n";
+
+/* Verwijder 'MNRPQR' van $var. */
+echo substr_replace ($var, '', 10, -1) . "<br>\n";
+?>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Zie ook <function>str_replace</function> en
+ <function>substr</function>.
+ </para>
+ <note>
+ <simpara>
+ <function>Substr_replace</function> was toegevoegd in PHP 4.0.
+ </simpara>
+ </note>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.trim">
+ <refnamediv>
+ <refname>trim</refname>
+ <refpurpose>
+ Stript whitespace van het begin en eind van een string
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>trim</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Deze functie stript whitespace van het begin en einde van een
+ string en geeft de gestripte string terug. De whitespace karakters
+ die het stript zijn: "\n", "\r", "\t",
+"\v", "\0", en een normale
+ space.
+ </para>
+ <para>
+ Zie ook <function>chop</function>, <function>rtrim</function> en
+ <function>ltrim</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.ucfirst">
+ <refnamediv>
+ <refname>ucfirst</refname>
+ <refpurpose>Maakt het eerste karakter van een string uppercase</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>ucfirst</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Maakt van het eerste karaketer van <parameter>str</parameter>
+ een hoofdletter als die alfabetisch is.
+ </para>
+ <para>
+ Merk op dat 'alfabetisch' wordt bepaald door de huidige locale.
+ Bijvoorbeeld, in de normale "C" locale karakters worden karakters
+ als umlaut-a (�) niet geconverteerd.
+ <example>
+ <title><function>Ucfirst</function> example</title>
+ <programlisting role="php">
+$text = 'mary had a little lamb and she loved it so.';
+$text = ucfirst ($text); // $text is nu Mary had a little lamb
+ // and she loved it so.
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Zie ook <function>strtoupper</function> en
+ <function>strtolower</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.ucwords">
+ <refnamediv>
+ <refname>ucwords</refname>
+ <refpurpose>
+ Maakt van het eerste karakter van elk woord in een string een uppercase
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>ucwords</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Maakt van het eerste karakter van elk woord in
+ <parameter>str</parameter> als dit karakter alfabetisch
+ is.
+ <example>
+ <title><function>ucwords</function> voorbeeld</title>
+ <programlisting role="php">
+$text = "mary had a little lamb and she loved it so.";
+$text = ucwords($text); // $text is now: Mary Had A Little
+ // Lamb And She Loved It So.
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Zie ook <function>strtoupper</function>,
+ <function>strtolower</function> en <function>ucfirst</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.wordwrap">
+ <refnamediv>
+ <refname>wordwrap</refname>
+ <refpurpose>
+ Wrapt een string tot een gegeven aantal karakters gebruikmakend van een string
+ break karakter.
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Omschrijving</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>wordwrap</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ <paramdef>int
+ <parameter><optional>width</optional></parameter>
+ </paramdef>
+ <paramdef>string
+ <parameter><optional>break</optional></parameter>
+ </paramdef>
+ <paramdef>int
+ <parameter><optional>cut</optional></parameter>
+ </paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <para>
+ Wrapt de string <parameter>str</parameter> op basis van
+ het column nummer gespecificeerd door de (optionele) <paramter>width</parameter>.
+ De regel wordt gebroken gebruikmakend van de (optionele)
+<parameter>break</paramter>
+ parameter.
+ </para>
+ <para>
+ <function>wordwrap</function> zal automatisch wrappen op column
+ 75 en breken gebruik makend van '\n' (newline) als <parameter>width</parameter>
+ of <parameter>break</parameter> niet zijn gegeven.
+ </para>
+ <para>
+ Als <parameter>cut</paramter> 1 is, wordt de string altijd
+ gewrapt naar de gegeven width. Dus als je een woord hebt dat langer
+ is dan de gegeven width, wordt die gebroken (zie tweede voorbeeld).
+ </para>
+ <para>
+ <example>
+ <title><function>wordwrap</function> voorbeeld</title>
+ <programlisting role="php">
+$text = "The quick brown fox jumped over the lazy dog.";
+$newtext = wordwrap( $text, 20 );
+
+echo "$newtext\n";
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Dit voorbeeld zou geven:
+ </para>
+ <para>
+ <informalexample>
+ <programlisting>
+The quick brown fox
+jumped over the lazy dog.
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ <example>
+ <title><function>wordwrap</function> example</title>
+ <programlisting role="php">
+$text = "Een heel lang woooooooooooord.";
+$newtext = wordwrap( $text, 8, "\n", 1);
+
+echo "$newtext\n";
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ Dit voorbeeld zou geven:
+ </para>
+ <para>
+ <informalexample>
+ <programlisting>
+Een heel
+lang
+wooooooo
+ooooord.
+ </programlisting>
+ </informalexample>
+ </para>
+ <para>
+ Zie ook <function>nl2br</function>.
+ </para>
+ </refsect1>
+ </refentry>