cvs: phpdoc /hu/functions funchand.xml math.xml pcre.xml
| From: | Gabor Hojtsy | Date: | Sun, 09 Dec 2001 10:54:52 +0000 |
| Subject: | cvs: phpdoc /hu/functions funchand.xml math.xml pcre.xml | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969339585@lists.php.net to get a copy of this message | ||
goba Sun Dec 9 05:54:52 2001 EDT
Modified files:
/phpdoc/hu/functions funchand.xml math.xml pcre.xml
Log:
Updates from Gyozo Papp
Index: phpdoc/hu/functions/funchand.xml diff -u phpdoc/hu/functions/funchand.xml:1.4 phpdoc/hu/functions/funchand.xml:1.5 --- phpdoc/hu/functions/funchand.xml:1.4 Fri Dec 7 10:52:49 2001 +++ phpdoc/hu/functions/funchand.xml Sun Dec 9 05:54:52 2001 @@ -1,5 +1,5 @@ <?xml encoding="iso-8859-2" version="1.0"?> -<!-- EN-Revision: 1.18 Maintainer: pgerzson Status: ready --> +<!-- EN-Revision: 1.22 Maintainer: pgerzson Status: ready --> <reference id="ref.funchand"> <title>Függvénykezelõ függvények</title> <titleabbrev>Függvénykezelés</titleabbrev> @@ -40,6 +40,7 @@ Például: <informalexample> <programlisting role="php"> +<![CDATA[ function debug($var, $val) echo "***Bogarásszunk\nVÁLTOZÓ: $var\nÉRTÉKE:"; if (is_array($val) || is_object($val) || is_resource($val)) @@ -55,6 +56,7 @@ call_user_func_array ('debug', array("host", $host)); call_user_func_array ('debug', array("c", $c)); call_user_func_array ('debug', array("HTTP_POST_VARS", $HTTP_POST_VARS)); +]]> </programlisting> </informalexample> </para> @@ -104,11 +106,13 @@ Nézzük a kövekezõ példát: <informalexample> <programlisting role="php"> +<![CDATA[ function brobely ($type) { print " Szóval $type akar, semmi gond."; } call_user_func ('barber', "gomba frizurát"); call_user_func ('barber', "nyírást"); +]]> </programlisting> </informalexample> </para> @@ -152,12 +156,14 @@ A <function>create_function</function> segítségével definiált függvények </title> <programlisting role="php"> +<![CDATA[ $ujfgv = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a * $b);'); echo "Új névtelen függvényünk: $ujfgv\n"; // azért valami neve csak van :) echo $ujfgv(2,M_E)."\n"; // eredménye // Új névtelen függvényünk: lambda_1 // ln(2) + ln(2.718281828459) = 1.6931471805599 +]]> </programlisting> </example> Vagy egy általános kezelõfüggvény megléte esetén mûveletek sorozata alkalmazható @@ -168,15 +174,16 @@ <function>create_function</function>-nel. </title> <programlisting role="php"> +<."\n"; } // egy csomó matematikai függvény létrehozása -$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}'; +$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}'; $f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);"; -$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b;} else {return false;}'; +$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b;} else {return false;}'; $fv_tomb = array( create_function('$x,$y', 'return "ezt nem tudom mi: ".(sin($x) + $x*cos($y));'), create_function('$x,$y', 'return "az átfogó: ".sqrt($x*$x + $y*$y);'), @@ -194,15 +201,17 @@ create_function('$b,$a','if (strncmp($a,$b,3) == 0) return "** \"$a\" '. 'es \"$b\"\n** nekem azonosnak tunik! (az elso 3 karakter utan)";'), create_function('$a,$b','; return "CRCs: ".crc32($a)." , ".crc32(b);'), - create_function('$a,$b','; return "similar(a,b) = ".similar_text($a,$b,&$p)."($p%)";') + create_function('$a,$b','; return "similar(a,b) = ".similar_text($a,$b,&$p)."($p%)";') ); -echo "\nA masodik tomb anonim fuggvenyekkel\n"; -feldolgoz("Twas brilling and the slithy toves", "Twas the night", $fv_tomb2); +echo "\nA masodik tomb anonim fuggvenyekkel\n"; +feldolgoz("Akkor csillogo es fenyes volt.", "Akkor este volt.", $fv_tomb2); +]]> </programlisting> </example> - and when you run the code above, the output will be: + a fenti kód lefuttatása után a következõ fog megjelenni: <informalexample> <programlisting> +<![CDATA[ Az elso tomb anonim fuggvenyekkel parameterek: 2.3445, M_PI ezt nem tudom mi: -1.6291725057799 @@ -212,10 +221,11 @@ ln(a/b) = 0.27122299212594 A masodik tomb anonim fuggvenyekkel -** "Twas the night" and "Twas brilling and the slithy toves" +** "Akkor csillogo es fenyes volt." es "Akkor este volt." ** nekem azonosnak tunik! (az elso 3 karakter utan) CRCs: -725381282 , 1908338681 similar(a,b) = 11(45.833333333333%) +]]> </programlisting> </informalexample> Valószínûleg az anonim függvények legáltalánosabb felhasználási módja az @@ -224,16 +234,17 @@ <example> <title>Anonim függvények használata 'callback' függvényként</title> <programlisting role="php"> +<![CDATA[ $nevelok = array("a ","egy ","az ","ez "); array_walk($nevelok, create_function('&$v,$k','$v = $v."mango";')); print_r($av); // PHP 3-soknak var_dump() // kiirja, hogy : // Array // ( -// [0] => a mango -// [1] => egy mango -// [2] => az mango -// [3] => ez mango +// [0] => a mango +// [1] => egy mango +// [2] => az mango +// [3] => ez mango // ) // szrtinggel teli tömb a rövidebbtõl a hosszabb felé rendezve @@ -242,10 +253,10 @@ // kiírja, hogy: // Array // ( -// [0] => rovid -// [1] => hosszabb -// [2] => egy nagy sztring -// [3] => ez valami sztring dolog +// [0] => rovid +// [1] => hosszabb +// [2] => egy nagy sztring +// [3] => ez valami sztring dolog // ) // hosszúság szerinti csökkenõ sorrendben rendezve: @@ -254,11 +265,12 @@ // kiírja, hogy: // Array // ( -// [0] => ez valami sztring dolog -// [1] => egy nagy sztring -// [2] => hosszabb -// [3] => rovid +// [0] => ez valami sztring dolog +// [1] => egy nagy sztring +// [2] => hosszabb +// [3] => rovid // ) +]]> </programlisting> </example> </para> @@ -292,17 +304,19 @@ <para> <informalexample> <programlisting role="php"> -<?php +<![CDATA[ +<?php function ize() { $parameterek_szama = func_num_args(); - echo "argumentumok száma: {$parameterek_szama}<br>\n"; - if ($parameterek_szama >= 2) { - echo "A második paraméter: " . func_get_arg (1) . "<br>\n"; + echo "argumentumok száma: {$parameterek_szama}<br/>\n"; + if ($parameterek_szama >= 2) { + echo "A második paraméter: " . func_get_arg (1) . "<br/>\n"; } } ize (1, 2, 3); -?> +?> +]]> </programlisting> </informalexample> </para> @@ -343,21 +357,23 @@ <para> <informalexample> <programlisting role="php"> -<?php -function foo() { +<![CDATA[ +<?php +function ize() { $pm_szama = func_num_args(); - echo "A parameterek szama: {$pm_szama}<br>\n"; - if ($pm_szama >= 2) { - echo "A masodik parameter: " . func_get_arg (1) . "<br>\n"; + echo "A parameterek szama: {$pm_szama}<br/>\n"; + if ($pm_szama >= 2) { + echo "A masodik parameter: " . func_get_arg (1) . "<br/>\n"; } $pm_lista = func_get_args(); - for ($i = 0; $i < $pm_szama; $i++) { - echo "$i. parameter : " . $pm_lista[$i] . "<br>\n"; + for ($i = 0; $i < $pm_szama; $i++) { + echo "$i. parameter : " . $pm_lista[$i] . "<br/>\n"; } } -foo (1, 2, 3); -?> +ize (1, 2, 3); +?> +]]> </programlisting> </informalexample> </para> @@ -397,14 +413,16 @@ <para> <informalexample> <programlisting role="php"> -<?php +<![CDATA[ +<?php function ize() { $pm_szama = func_num_args(); echo "A parameterek szama: {$pm_szama}\n"; } -foo (1, 2, 3); // azt írja ki: 'A parameterek szama: 3' -?> +ize (1, 2, 3); // kiírja, hogy : 'A parameterek szama: 3' +?> +]]> </programlisting> </informalexample> </para> @@ -441,12 +459,14 @@ és &true;-val tér vissza, ha az adott nevû függvényt megtalálta, egyébként &false;-szal. <informalexample> <programlisting role="php"> +<![CDATA[ if (function_exists('imap_open')) { - echo "IMAP függvények használhatók.<br>\n"; + echo "IMAP függvények használhatók.<br/>\n"; } else { - echo "IMAP függvények _nem_ használhatók.<br>\n"; + echo "IMAP függvények _nem_ használhatók.<br/>\n"; } - </programlisting> +]]> + </programlisting> </informalexample> Vigyázz, mert egy függvény neve létezhet, még akkor is ha a függvény maga nem használható valamilyen konfigurációs vagy fordítási beálltás következtében. @@ -480,13 +500,15 @@ (lásd a lenti példát) <informalexample> <programlisting role="php"> +<![CDATA[ function az_en_sorom($id, $adat) { - return "<tr><th>$id</th><td>$adat</td></tr>\n"; + return "<tr><th>$id</th><td>$adat</td></tr>\n"; } $arr = get_defined_functions(); print_r($arr); +]]> </programlisting> </informalexample> </para> @@ -494,28 +516,30 @@ valami hasonlót fog kírni: <informalexample> <programlisting> +<![CDATA[ Array ( - [internal] => Array + [internal] => Array ( - [0] => zend_version - [1] => func_num_args - [2] => func_get_arg - [3] => func_get_args - [4] => strlen - [5] => strcmp - [6] => strncmp + [0] => zend_version + [1] => func_num_args + [2] => func_get_arg + [3] => func_get_args + [4] => strlen + [5] => strcmp + [6] => strncmp ... - [750] => bcscale - [751] => bccomp + [750] => bcscale + [751] => bccomp ) - [user] => Array + [user] => Array ( - [0] => az_en_sorom + [0] => az_en_sorom ) ) +]]> </programlisting> </informalexample> </para> Index: phpdoc/hu/functions/math.xml diff -u phpdoc/hu/functions/math.xml:1.5 phpdoc/hu/functions/math.xml:1.6 --- phpdoc/hu/functions/math.xml:1.5 Fri Dec 7 10:52:49 2001 +++ phpdoc/hu/functions/math.xml Sun Dec 9 05:54:52 2001 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-2" ?> -<!-- EN-Revision: 1.55 Maintainer: pgerzson Status: ready --> +<!-- EN-Revision: 1.61 Maintainer: pgerzson Status: ready --> <reference id="ref.math"> <title>Matematikai függvények</title> <titleabbrev>Matematika</titleabbrev> @@ -160,10 +160,36 @@ </funcprototype> </funcsynopsis> <para> - Ay <parameter>arg</parameter> arkusz koszinuszát adja vissza radiánban. + Az <parameter>arg</parameter> arkusz koszinuszát adja vissza radiánban. </para> <para> - Lásd még: <function>asin</function> és <function>atan</function>! + Lásd még: <function>acosh</function>, <function>asin</function> és <function>atan</function>! + </para> + </refsect1> + </refentry> + + <refentry id="function.acosh"> + <refnamediv> + <refname>acosh</refname> + <refpurpose>area hiperbolikus koszinusz</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>acosh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> area hiperbolikus koszinuszát adja vissza, + azt az értéket, amelynek hiperbolikus koszinusza egyenlõ az + <parameter>arg</parameter> paraméterrel. + </para> + ¬e.no-windows; + <para> + Lásd még: <function>acos</function>, <function>asin</function> + és <function>atan</function>! </para> </refsect1> </refentry> @@ -190,6 +216,32 @@ </refsect1> </refentry> + <refentry id="function.asinh"> + <refnamediv> + <refname>asinh</refname> + <refpurpose>area hiperbolikus szinusz</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>asinh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> area hiperbolikus szinuszával tér vissza, + azzal az értékkel, amelynnek hiperbolikus szinusza egyenlõ az + <parameter>arg</parameter> paraméterrel. + </para> + ¬e.no-windows; + <para> + Lásd még: <function>asin</function>, <function>acos</function> + és <function>atan</function>! + </para> + </refsect1> + </refentry> + <refentry id="function.atan"> <refnamediv> <refname>atan</refname> @@ -212,6 +264,31 @@ </refsect1> </refentry> + <refentry id="function.atanh"> + <refnamediv> + <refname>atanh</refname> + <refpurpose>area hiperbolikus tangens</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>atanh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> area hiperbolikus tangensével tér vissza, + azzal az értékkel, amelynek hiiperbolikus tangense egyenlõ az <parameter>arg</parameter> paraméterrel. + </para> + ¬e.no-windows; + <para> + Lásd még: <function>atan</function>, <function>asin</function> + és <function>acos</function>! + </para> + </refsect1> + </refentry> + <refentry id="function.atan2"> <refnamediv> <refname>atan2</refname> @@ -264,7 +341,9 @@ <example> <title><function>base_convert</function></title> <programlisting role="php"> +<![CDATA[ $binaris = base_convert ($hexadecimalis, 16, 2); +]]> </programlisting> </example> </para> @@ -346,6 +425,30 @@ </refsect1> </refentry> + <refentry id="function.cosh"> + <refnamediv> + <refname>cosh</refname> + <refpurpose>hiperbolikus koszinusz</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>cosh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> hiperbolikus koszinuszát adja vissza, amelyet + a <literal>(exp(arg) + exp(-arg))/2</literal> kifejezéssel határozható meg. + </para> + <para> + Lásd még: <function>cos</function>, <function>acosh</function>, + <function>sin</function> és <function>tan</function>! + </para> + </refsect1> + </refentry> + <refentry id="function.decbin"> <refnamediv> <refname>decbin</refname> @@ -477,6 +580,15 @@ A <function>floor</function> által visszadott érték <type>float</type> típusú, mivel a <type>float</type> értékészlete általában nagyobb, mint <type>int</type>-é. </simpara> + <example> + <title><function>floor</function> példa</title> + <programlisting role="php"> +<![CDATA[ +$negy = floor(4.3); // $negy = 4.0; +$kilenc = floor(9.999); // $kilenc = 9.0; +]]> + </programlisting> + </example> <simpara> Lásd még: <function>ceil</function> és <function>round</function>! </simpara> @@ -501,7 +613,7 @@ </simpara> <simpara> Lásd még: <function>rand</function>, <function>srand</function>, - <function>mt_rand</function>, <function>mt_srand</function>, és + <function>mt_rand</function>, <function>mt_srand</function> és <function>mt_getrandmax</function>! </simpara> </refsect1> @@ -531,6 +643,7 @@ <example> <title><function>hexdec</function> példa</title> <programlisting role="php"> +<![CDATA[ var_dump(hexdec("hee")); var_dump(hexdec("ee")); // mindketto: int(238) @@ -538,6 +651,7 @@ var_dump(hexdec("az")); var_dump(hexdec("a0")); // mindketto: int(160) +]]> </programlisting> </example> </para> @@ -561,15 +675,9 @@ </funcprototype> </funcsynopsis> <para> - <function>lcg_value</function> returns a pseudo random number in - the range of (0, 1). The function combines two CGs with periods - of 2^31 - 85 and 2^31 - 249. The period of this function is equal - to the product of both primes. - - <!-- - A függvény két, 2^31 - 85 és 2^31 - 249 periódusú kongruenst kombinál, és a periódusa - ennek a két prímnek a szorzatával egyenlõ. - --> + A <function>lcg_value</function> ál véletlenszámot ad vissza a (0,1) intervallumból. + A függvény két, 2^31 - 85 és 2^31 - 249 periódusú CG-t kombinál, + és a periódusa ennek a két prímnek a szorzatával egyenlõ. </para> </refsect1> </refentry> @@ -628,7 +736,7 @@ </funcprototype> </funcsynopsis> <para> - A <function>max</function> a paraméterként átadott számként értelmezett értékek legnagyobbjával tér vissza. + A <function>max</function> a paraméterként átadott, számként értelmezett értékek legnagyobbjával tér vissza. </para> <para> Ha az elsõ paraméter tömb típusú, akkor a tömbbeli legnagyobb értéket adja vissza. @@ -664,7 +772,7 @@ </funcprototype> </funcsynopsis> <para> - A <function>min</function> a paraméterként átadott számként értelmezett értékek legkisebbjével tér vissza. + A <function>min</function> a paraméterként átadott, számként értelmezett értékek legkisebbjével tér vissza. </para> <para> Ha az elsõ paraméter tömb típusú, akkor a tömbbeli legkisebb értéket adja vissza. @@ -759,6 +867,7 @@ Beállítja a véletlenszám generátor kiinduló értékét <parameter>seed</parameter>-re. <informalexample> <programlisting role="php"> +<![CDATA[ // beállítás ezredmásodpercekkel function make_seed() { list($usec, $sec) = explode(' ', microtime()); @@ -766,6 +875,7 @@ } mt_srand(make_seed()); $randval = mt_rand(); +]]> </programlisting> </informalexample> </para> @@ -796,7 +906,7 @@ </simpara> <simpara> Lásd még: <function>mt_rand</function>, - <function>mt_srand</function> <function>rand</function>, + <function>mt_srand</function>, <function>rand</function>, <function>srand</function> és <function>getrandmax</function>. </simpara> @@ -853,7 +963,8 @@ tagolja az egész részt. Ez a következõképpen érhetõ el: </para> <programlisting role="php"> -<?php +<![CDATA[ +<?php $szam = 1234.56; @@ -872,7 +983,8 @@ $angol_szam_forma = number_format($szam, 2, '.', ''); // 1234.56 -?> +?> +]]> </programlisting> </example> </para> @@ -928,10 +1040,10 @@ <para> <informalexample> <programlisting> - +<![CDATA[ echo pi(); // azt írja ki, hogy : 3.1415926535898 - +]]> </programlisting> </informalexample> </para> @@ -1092,6 +1204,7 @@ <para> <informalexample> <programlisting role="php"> +<![CDATA[ $ize = round(3.4); // $ize == 3.0 $ize = round(3.5); // $ize == 4.0 $ize = round(3.6); // $ize == 4.0 @@ -1100,6 +1213,7 @@ $ize = round(1.95583, 2); // $ize == 1.96 $ize = round(1241757, -3); // $ize == 1242000 +]]> </programlisting> </informalexample> </para> @@ -1136,6 +1250,30 @@ </refsect1> </refentry> + <refentry id="function.sinh"> + <refnamediv> + <refname>sinh</refname> + <refpurpose>hiperbolikus szinusz</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>sinh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> hiperbolikus szinuszát adja vissza, + amelyet a <literal>(exp(arg) - exp(-arg))/2</literal> kifejezés határoz meg. + </para> + <para> + Lásd még: <function>sin</function>, <function>asinh</function>, + <function>cos</function> és <function>tan</function>! + </para> + </refsect1> + </refentry> + <refentry id="function.sqrt"> <refnamediv> <refname>sqrt</refname> @@ -1172,6 +1310,7 @@ Beállítja a véletlenszám generátor kiinduló értékét <parameter>seed</parameter>-re. <informalexample> <programlisting role="php"> +<![CDATA[ // beállítás ezredmásodpercekkel function make_seed() { list($usec, $sec) = explode(' ', microtime()); @@ -1179,6 +1318,7 @@ } srand(make_seed()); $randval = rand(); +]]> </programlisting> </informalexample> </para> @@ -1211,7 +1351,32 @@ Lásd még: <function>sin</function> és <function>cos</function>! </para> </refsect1> + + </refentry> + <refentry id="function.tanh"> + <refnamediv> + <refname>tanh</refname> + <refpurpose>hiperbolikus tangens</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>tanh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> hiperbolikus tangensét adja vissza, amelyet + a <literal>sinh(arg)/cosh(arg)</literal> kifejezés definiál. + </para> + <para> + Lásd még: <function>tan</function>, <function>atanh</function>, + <function>sin</function> és <function>cos</function>! + </para> + </refsect1> </refentry> + </reference> Index: phpdoc/hu/functions/pcre.xml diff -u phpdoc/hu/functions/pcre.xml:1.3 phpdoc/hu/functions/pcre.xml:1.4 --- phpdoc/hu/functions/pcre.xml:1.3 Fri Dec 7 10:52:50 2001 +++ phpdoc/hu/functions/pcre.xml Sun Dec 9 05:54:52 2001 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-2"?> -<!-- EN-Revision: 1.61 Maintainer: pgerzson Status: ready --> +<!-- EN-Revision: 1.66 Maintainer: pgerzson Status: ready --> <reference id="ref.pcre"> <title>Reguláris kifejezések függvényei (Perl kompatibilis)</title> <titleabbrev>PCRE</titleabbrev> @@ -21,7 +21,7 @@ <example> <title>Példák érvényes mintákra</title> <itemizedlist> - <listitem><simpara>/<\/\w+>/</simpara></listitem> + <listitem><simpara>/<\/\w+>/</simpara></listitem> <listitem><simpara>|(\d{3})-\d+|Sm</simpara></listitem> <listitem><simpara>/^(?i)php[34]/</simpara></listitem> <listitem><simpara>{^\s+(\s+)?$}</simpara></listitem> @@ -101,6 +101,7 @@ <example> <title>A "php" sztring keresése</title> <programlisting role="php"> +<![CDATA[ // az "i" a minta határolójele után azt jelzi, // hogy a kis- és nagybetûkre közömbös a keresés. if (preg_match ("/php/i", "PHP a web-scripting nyelvek egyike.")) { @@ -108,11 +109,13 @@ } else { print "A minta nem passzol."; } +]]> </programlisting> </example> <example> <title>A "web" szó keresése</title> <programlisting role="php"> +<![CDATA[ // a mintában a \b szóhatárt jelöl, ezért csak a különálló // "web" szavakra fog illeszkedni, és szórészletekre // úgymint "webbing" vagy "cobweb" pedig nem. @@ -127,11 +130,13 @@ } else { print "A match nem passzol."; } +]]> </programlisting> </example> <example> <title> domain-név kinyerése URL-bõl</title> <programlisting role="php"> +<![CDATA[ // gazdagép neve az URL-bõl preg_match("/^(http:\/\/)?([^\/]+)/i", "http://www.php.net/index.html", $matches); @@ -139,12 +144,17 @@ // a gazdagépnév utolsó két része preg_match("/[^\.\/]+\.[^\.\/]+$/",$host,$matches); echo "A domain név : ".$matches[0]."\n"; +]]> </programlisting> </example> + <para> Ez a példa a következõt eredményezi: - <programlisting> + <screen> +<![CDATA[ A domain név : php.net - </programlisting> +]]> + </screen> + </para> Lásd még: <function>preg_match_all</function>, <function>preg_replace</function> és <function>preg_split</function>! @@ -193,19 +203,23 @@ részmintára illeszkednek, és így tovább. <informalexample> <programlisting role="php"> -preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", - "<b>példa: </b><div align=left>ez itt a teszt szöveg</div>", +<![CDATA[ +preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", + "<b>példa: </b><div align=left>ez itt a teszt szöveg</div>", $out, PREG_PATTERN_ORDER); print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n" +]]> </programlisting> - </informalexample> - Ez a példa az alábbi eredményt adja: - <informalexample> - <programlisting> -<b>példa: </b>, <div align=left>ez itt a teszt szöveg</div> + <para> + Ez a példa az alábbi eredményt adja: + <screen> +<![CDATA[ +<b>példa: </b>, <div align=left>ez itt a teszt szöveg</div> példa: , ez itt a teszt szöveg - </programlisting> +]]> + </screen> + </para> </informalexample> Tehát, az $out[0] egy tömb az összes, teljes mintára illeszkedõ szöveggel, és $out[1] egy tömb az összes HTML-elem közti szöveggel. @@ -220,19 +234,23 @@ a $matches[1] a második eredményeit fogja tartalmazni, és így tovább. <informalexample> <programlisting role="php"> -preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", - "<b>példa: </b><div align=left>ez itt a teszt szöveg</div>", +<![CDATA[ +preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", + "<b>példa: </b><div align=left>ez itt a teszt szöveg</div>", $out, PREG_SET_ORDER); print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n" +]]> </programlisting> - </informalexample> + <para> Ez a példa az alábbi eredményt adja: - <informalexample> - <programlisting role="php"> -<b>példa: </b>, példa: -<div align=left>ez itt a teszt szöveg</div>, ez itt a teszt szöveg - </programlisting> + <screen> +<![CDATA[ +<b>példa: </b>, példa: +<div align=left>ez itt a teszt szöveg</div>, ez itt a teszt szöveg +]]> + </screen> + </para> </informalexample> Ebben az esetben $matches[0] az elsõ illesztés során megtalált szövegrészeket tartalmazza, a $matches[0][0]-ben a teljes mintára @@ -255,8 +273,10 @@ <example> <title>Az összes telefonszám kigyûjtése egy adott szövegbõl.</title> <programlisting role="php"> +<![CDATA[ preg_match_all ("/\(? (\d{3})? \)? (?(1) [\-\s] ) \d{3}-\d{4}/x", "Hívd a 555-1212 vagy 1-800-555-1212 számot", $phones); +]]> </programlisting> </example> </para> @@ -264,34 +284,38 @@ <example> <title>HTML elemek keresése (mohón)</title> <programlisting role="php"> +<![CDATA[ // A \\2 példa a hivatkozásra. Ez mondja meg PCRE-nek, hogy a másodikként // megadott kerek zárójelre - ami ebben az esetben ([\w]+) - illesztett // szövegnek kell szerepelnie azon a helyen is. A plusz visszaperjelre azért // van szükség, mert a minta macskakörmök ("") közé van fogva. -$html = "<b>félkövér szöveg</b><a href=howdy.html>kattints ide</a> +$html = "<b>félkövér szöveg</b><a href=howdy.html>kattints ide</a> -preg_match_all ("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, +preg_match_all ("/(<([\w]+)[^<]*>)(.*)(<\/\\2>)/", $html, $matches); -for ($i=0; $i< count($matches[0]); $i++) { +for ($i=0; $i < count($matches[0]); $i++) { echo "passzolt: ".$matches[0][$i]."\n"; echo "1. rész: ".$matches[1][$i]."\n"; echo "2. rész: ".$matches[3][$i]."\n"; echo "3. rész: ".$matches[4][$i]."\n\n"; } +]]> </programlisting> </example> A példa ezt eredményezi: <programlisting> -passzolt: <b>félkövér szöveg</b> -1. rész: <b> +<![CDATA[ +passzolt: <b>félkövér szöveg</b> +1. rész: <b> 2. rész: félkövér szöveg -3. rész: </b> +3. rész: </b> -passzolt: <a href=howdy.html>kattints ide</a> -1. rész: <a href=howdy.html> +passzolt: <a href=howdy.html>kattints ide</a> +1. rész: <a href=howdy.html> 2. rész: kattints ide -3. rész: </a> +3. rész: </a> +]]> </programlisting> </para> <simpara> @@ -384,22 +408,28 @@ <example> <title>Néhány érték cseréje</title> <programlisting> +<![CDATA[ $mintak = array ("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/", "/^\s*{(\w+)}\s*=/"); $csere = array ("\\3/\\4/\\1\\2", "$\\1 ="); print preg_replace ($mintak, $csere, "{kezdoDatum} = 1999-5-27"); +]]> </programlisting> </example> Ennek a példának a végeredménye: <programlisting> +<![CDATA[ $kezdoDatum = 5/27/1999 +]]> </programlisting> <example> <title>Az /e módosítót használata:</title> <programlisting role="php"> -preg_replace ("/(<\/?)(\w+)([^>]*>)/e", +<![CDATA[ +preg_replace ("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtoupper('\\2').'\\3'", $html_body); +]]> </programlisting> <para> Ez az összes HTML elemet nagybetûsre cseréli a bemeneti szövegben. @@ -408,32 +438,33 @@ <example> <title>HTML-bõl sima szöveggé konvertálás</title> <programlisting role="php"> +<![CDATA[ // A $dokumentum HTML formátumú. // Minden HTML elemet, javascript szakaszt és térközt eltávolít a // dokumentumból. Ezenkívül néhány megszokott HTML entitást is a // sima, karakteres megfelelõikre konvertál. -$mit = array ("'<script[^>]*?>.*?</script>'si", // javascript eltüntetése - "'<[\/\!]*?[^<>]*?>'si", // HTML elemek eltüntetése +$mit = array ("'<script[^<]*?>.*?</script>'si", // javascript eltüntetése + "'<[\/\!]*?[^<>]*?>'si", // HTML elemek eltüntetése "'([\r\n])[\s]+'", // térközök - "'&(quot|#34);'i", // HTML entitások - "'&(amp|#38);'i", - "'&(lt|#60);'i", - "'&(gt|#62);'i", - "'&(nbsp|#160);'i", - "'&(iexcl|#161);'i", - "'&(cent|#162);'i", - "'&(pound|#163);'i", - "'&(copy|#169);'i", - "'&#(\d+);'e"); // PHP kódként értelmezze + "'&(quot|#34);'i", // HTML entitások + "'&(amp|#38);'i", + "'&(lt|#60);'i", + "'&(gt|#62);'i", + "'&(nbsp|#160);'i", + "'&(iexcl|#161);'i", + "'&(cent|#162);'i", + "'&(pound|#163);'i", + "'&(copy|#169);'i", + "'&#(\d+);'e"); // PHP kódként értelmezze $mire = array ("", "", "\\1", "\"", - "&", - "<", - ">", + "&", + "<", + ">", " ", chr(161), chr(162), @@ -442,6 +473,7 @@ "chr(\\1)"); $szoveg = preg_replace ($mit, $mire, $dokumentum); +]]> </programlisting> </example> </para> @@ -564,9 +596,11 @@ <title><function>preg_split</function> példa : a keresett szöveg kucslszavait adja vissza.</title> <programlisting role="php"> +<![CDATA[ // Feldarabolja a kifejezést vesszõk és térközkarakterek mentén, // amelyek a következõk " ", \r, \t, \n és \f . $kulcsszavak = preg_split ("/[\s,]+/", "hypertext language, programming"); +]]> </programlisting> </example> </para> @@ -574,9 +608,11 @@ <example> <title>Sztring karakterekre darabolása</title> <programlisting role="php"> +<![CDATA[ $sztring = 'karakterfûzér'; $karakterek = preg_split('//', $sztring, -1, PREG_SPLIT_NO_EMPTY); print_r($karakterek); +]]> </programlisting> </example> </para> @@ -625,21 +661,24 @@ A / a leggyakrabban használt határolójel.</para> <para> A reguláris kifejezésekben elõforduló speciális karakterek: - <screen>. \ + * ? [ ^ ] $ ( ) { } = ! < > | :</screen> + <screen> +<![CDATA[ . \ + * ? [ ^ ] $ ( ) { } = ! < > | :]]></screen> </para> <para> <example> <title></title> <programlisting role="php"> +<![CDATA[ $kulcsszavak = "$40 egy g3/400-ért"; $kulcsszavak = preg_quote ($keywords, "/"); echo $kulcsszavak; // \$40 egy g3\/400-ért adja vissza +]]> </programlisting> </example> <example> <title>Adott szöveg megdöntése</title> <programlisting role="php"> - +<![CDATA[ // Ebben a példában preg_quote($szo)-t használjuk arra, hogy // a csillagokat megfosszuk a reguláris kifejezésekben használt // speciális jelentésüktõl. @@ -647,8 +686,9 @@ $szoveg = "Ezt a könyvet *nagyon* nehéz megtalálni."; $szo = "*nagyon*"; $szoveg = preg_replace ("/".preg_quote($szo)."/", - "<i>".$szo."</i>", + "<i>".$szo."</i>;", $szoveg); +]]> </programlisting> </example> </para> @@ -686,8 +726,10 @@ <example> <title><function>preg_grep</function> példa</title> <programlisting role="php"> +<![CDATA[ // visszad minden olyan $tomb-beli elemet, ami lebegõpontos számot tartalmaz $lebegopontos_tomb = preg_grep ("/^(\d+)?\.\d+$/", $tomb); +]]> </programlisting> </example> </para> @@ -912,7 +954,7 @@ </listitem> <listitem> <simpara> - 3. Tagadó elõretekintõ tesztekben (negated lookahead assertion) szereplõ + Tagadó elõretekintõ tesztekben (negated lookahead assertion) szereplõ "begyûjtõ" részminták (capturing subpatterns) számon vannak tartva, de a hozzájuk tartozó numerikus változók soha nem kerülnek feltöltésre. Perl feltölti ezeket a numerikus változókat valamilyen, a sikertelen @@ -922,7 +964,7 @@ </listitem> <listitem> <simpara> - 4. A bináris nullkarakter használata megengedett a tárgyszövegben, de + A bináris nullkarakter használata megengedett a tárgyszövegben, de a mintában nem, mert a mintául szolgáló sztring nullvégû C sztringként adódik át. A "\0" vezérlõszekvencia használható a mintában bináris nullkarakter megjelenítésére. @@ -930,7 +972,7 @@ </listitem> <listitem> <simpara> - 5. Nem támogatja az alábbi Perl vezérlõszekvenciákat: + Nem támogatja az alábbi Perl vezérlõszekvenciákat: \l, \u, \L, \U, \E, \Q. Valójában ezek a funkciók a Perl sztringkezelõ részében vannak megvalósítva, és nem tartoznak annak mintaillesztõ motorjához. @@ -938,18 +980,18 @@ </listitem> <listitem> <simpara> - 6. A Perl \G tesztjét nem támogatja, mivel nem fontos az egyszeres minta + A Perl \G tesztjét nem támogatja, mivel nem fontos az egyszeres minta illesztésekben. </simpara> </listitem> <listitem> <simpara> - 7. Magától érthetõdõen PCRE nem támogatja a (?{kód}) szerkezetet. + Magától érthetõdõen PCRE nem támogatja a (?{kód}) szerkezetet. </simpara> </listitem> <listitem> <simpara> - 8. A kézikönyv írása során néhány furcsaság még van a Perl 5.002_2-ben a + A kézikönyv írása során néhány furcsaság még van a Perl 5.002_2-ben a begyûjtött sztringek feltöltésével kapcsolatban, ha a mintarészek ismétlõdhetnek. Például, "aba"-ra illesztve a /^(a(b)?)+$/ mintát $2 numerikus változó értéke "b" lesz, míg a "aabbaa"-ra illesztve @@ -962,7 +1004,7 @@ </listitem> <listitem> <simpara> - 9. Másik mindeddig megoldatlan eltérés, hogy pl. /^(a)?(?(1)a|b)+$/ + Másik mindeddig megoldatlan eltérés, hogy pl. /^(a)?(?(1)a|b)+$/ minta Perl 5.002_2-ben illeszkedik a "a"-ra, míg PCRE-ben nem. Ráadásul mind Perl-ben mind PCRE-ben /^(a)?a/ minta "a"-ra illesztése során a $1 változó üresen marad. @@ -970,12 +1012,12 @@ </listitem> <listitem> <para> - 10. PCRE néhény bõvítést is nyújt a Perl reguláris kifejezéseinek + PCRE néhény bõvítést is nyújt a Perl reguláris kifejezéseinek lehetõségeihez: <orderedlist> <listitem> <simpara> - (a) Jóllehet a hátratekintõ tesztek csak rögzített hosszúságú + Jóllehet a hátratekintõ tesztek csak rögzített hosszúságú sztringekre illeszkedhetnek, az alternatív ágak mindegyikében különbözõ hosszúságú sztringre illeszkedõ minta adható meg. Perl 5.005-ben minden ágban ugyanakkorának kell lennie ennek a hossznak. @@ -983,21 +1025,21 @@ </listitem> <listitem> <simpara> - (b) Ha a <link linkend="pcre.pattern.modifiers">PCRE_DOLLAR_ENDONLY</link> + Ha a <link linkend="pcre.pattern.modifiers">PCRE_DOLLAR_ENDONLY</link> be van kapcsolva, és a <link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link> nincs bekapcsolva, akkor $ metakarakter csakis a sztring legvégére illeszkedik. </simpara> </listitem> <listitem> <simpara> - (c) Ha <link linkend="pcre.pattern.modifiers">PCRE_EXTRA</link> be van + Ha <link linkend="pcre.pattern.modifiers">PCRE_EXTRA</link> be van kapcsolva, akkor bármilyen külön jelentéssel nem bíró karakter elõtti visszaperjel hibának minõsül. </simpara> </listitem> <listitem> <simpara> - (d) Ha <link linkend="pcre.pattern.modifiers">PCRE_UNGREEDY</link> be van + Ha <link linkend="pcre.pattern.modifiers">PCRE_UNGREEDY</link> be van kapcsolva, akkor a kvantorok (sokszorozók) mohóságát fordítva értelmezi, azaz, alapértelmezés szerint nem mohók, csak ha egy kérdõjel ? áll utánuk. </simpara>
Index: phpdoc/hu/functions/funchand.xml diff -u phpdoc/hu/functions/funchand.xml:1.4 phpdoc/hu/functions/funchand.xml:1.5 --- phpdoc/hu/functions/funchand.xml:1.4 Fri Dec 7 10:52:49 2001 +++ phpdoc/hu/functions/funchand.xml Sun Dec 9 05:54:52 2001 @@ -1,5 +1,5 @@ <?xml encoding="iso-8859-2" version="1.0"?> -<!-- EN-Revision: 1.18 Maintainer: pgerzson Status: ready --> +<!-- EN-Revision: 1.22 Maintainer: pgerzson Status: ready --> <reference id="ref.funchand"> <title>Függvénykezelõ függvények</title> <titleabbrev>Függvénykezelés</titleabbrev> @@ -40,6 +40,7 @@ Például: <informalexample> <programlisting role="php"> +<![CDATA[ function debug($var, $val) echo "***Bogarásszunk\nVÁLTOZÓ: $var\nÉRTÉKE:"; if (is_array($val) || is_object($val) || is_resource($val)) @@ -55,6 +56,7 @@ call_user_func_array ('debug', array("host", $host)); call_user_func_array ('debug', array("c", $c)); call_user_func_array ('debug', array("HTTP_POST_VARS", $HTTP_POST_VARS)); +]]> </programlisting> </informalexample> </para> @@ -104,11 +106,13 @@ Nézzük a kövekezõ példát: <informalexample> <programlisting role="php"> +<![CDATA[ function brobely ($type) { print " Szóval $type akar, semmi gond."; } call_user_func ('barber', "gomba frizurát"); call_user_func ('barber', "nyírást"); +]]> </programlisting> </informalexample> </para> @@ -152,12 +156,14 @@ A <function>create_function</function> segítségével definiált függvények </title> <programlisting role="php"> +<![CDATA[ $ujfgv = create_function('$a,$b','return "ln($a) + ln($b) = ".log($a * $b);'); echo "Új névtelen függvényünk: $ujfgv\n"; // azért valami neve csak van :) echo $ujfgv(2,M_E)."\n"; // eredménye // Új névtelen függvényünk: lambda_1 // ln(2) + ln(2.718281828459) = 1.6931471805599 +]]> </programlisting> </example> Vagy egy általános kezelõfüggvény megléte esetén mûveletek sorozata alkalmazható @@ -168,15 +174,16 @@ <function>create_function</function>-nel. </title> <programlisting role="php"> +<."\n"; } // egy csomó matematikai függvény létrehozása -$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}'; +$f1 = 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}'; $f2 = "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);"; -$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b;} else {return false;}'; +$f3 = 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b;} else {return false;}'; $fv_tomb = array( create_function('$x,$y', 'return "ezt nem tudom mi: ".(sin($x) + $x*cos($y));'), create_function('$x,$y', 'return "az átfogó: ".sqrt($x*$x + $y*$y);'), @@ -194,15 +201,17 @@ create_function('$b,$a','if (strncmp($a,$b,3) == 0) return "** \"$a\" '. 'es \"$b\"\n** nekem azonosnak tunik! (az elso 3 karakter utan)";'), create_function('$a,$b','; return "CRCs: ".crc32($a)." , ".crc32(b);'), - create_function('$a,$b','; return "similar(a,b) = ".similar_text($a,$b,&$p)."($p%)";') + create_function('$a,$b','; return "similar(a,b) = ".similar_text($a,$b,&$p)."($p%)";') ); -echo "\nA masodik tomb anonim fuggvenyekkel\n"; -feldolgoz("Twas brilling and the slithy toves", "Twas the night", $fv_tomb2); +echo "\nA masodik tomb anonim fuggvenyekkel\n"; +feldolgoz("Akkor csillogo es fenyes volt.", "Akkor este volt.", $fv_tomb2); +]]> </programlisting> </example> - and when you run the code above, the output will be: + a fenti kód lefuttatása után a következõ fog megjelenni: <informalexample> <programlisting> +<![CDATA[ Az elso tomb anonim fuggvenyekkel parameterek: 2.3445, M_PI ezt nem tudom mi: -1.6291725057799 @@ -212,10 +221,11 @@ ln(a/b) = 0.27122299212594 A masodik tomb anonim fuggvenyekkel -** "Twas the night" and "Twas brilling and the slithy toves" +** "Akkor csillogo es fenyes volt." es "Akkor este volt." ** nekem azonosnak tunik! (az elso 3 karakter utan) CRCs: -725381282 , 1908338681 similar(a,b) = 11(45.833333333333%) +]]> </programlisting> </informalexample> Valószínûleg az anonim függvények legáltalánosabb felhasználási módja az @@ -224,16 +234,17 @@ <example> <title>Anonim függvények használata 'callback' függvényként</title> <programlisting role="php"> +<![CDATA[ $nevelok = array("a ","egy ","az ","ez "); array_walk($nevelok, create_function('&$v,$k','$v = $v."mango";')); print_r($av); // PHP 3-soknak var_dump() // kiirja, hogy : // Array // ( -// [0] => a mango -// [1] => egy mango -// [2] => az mango -// [3] => ez mango +// [0] => a mango +// [1] => egy mango +// [2] => az mango +// [3] => ez mango // ) // szrtinggel teli tömb a rövidebbtõl a hosszabb felé rendezve @@ -242,10 +253,10 @@ // kiírja, hogy: // Array // ( -// [0] => rovid -// [1] => hosszabb -// [2] => egy nagy sztring -// [3] => ez valami sztring dolog +// [0] => rovid +// [1] => hosszabb +// [2] => egy nagy sztring +// [3] => ez valami sztring dolog // ) // hosszúság szerinti csökkenõ sorrendben rendezve: @@ -254,11 +265,12 @@ // kiírja, hogy: // Array // ( -// [0] => ez valami sztring dolog -// [1] => egy nagy sztring -// [2] => hosszabb -// [3] => rovid +// [0] => ez valami sztring dolog +// [1] => egy nagy sztring +// [2] => hosszabb +// [3] => rovid // ) +]]> </programlisting> </example> </para> @@ -292,17 +304,19 @@ <para> <informalexample> <programlisting role="php"> -<?php +<![CDATA[ +<?php function ize() { $parameterek_szama = func_num_args(); - echo "argumentumok száma: {$parameterek_szama}<br>\n"; - if ($parameterek_szama >= 2) { - echo "A második paraméter: " . func_get_arg (1) . "<br>\n"; + echo "argumentumok száma: {$parameterek_szama}<br/>\n"; + if ($parameterek_szama >= 2) { + echo "A második paraméter: " . func_get_arg (1) . "<br/>\n"; } } ize (1, 2, 3); -?> +?> +]]> </programlisting> </informalexample> </para> @@ -343,21 +357,23 @@ <para> <informalexample> <programlisting role="php"> -<?php -function foo() { +<![CDATA[ +<?php +function ize() { $pm_szama = func_num_args(); - echo "A parameterek szama: {$pm_szama}<br>\n"; - if ($pm_szama >= 2) { - echo "A masodik parameter: " . func_get_arg (1) . "<br>\n"; + echo "A parameterek szama: {$pm_szama}<br/>\n"; + if ($pm_szama >= 2) { + echo "A masodik parameter: " . func_get_arg (1) . "<br/>\n"; } $pm_lista = func_get_args(); - for ($i = 0; $i < $pm_szama; $i++) { - echo "$i. parameter : " . $pm_lista[$i] . "<br>\n"; + for ($i = 0; $i < $pm_szama; $i++) { + echo "$i. parameter : " . $pm_lista[$i] . "<br/>\n"; } } -foo (1, 2, 3); -?> +ize (1, 2, 3); +?> +]]> </programlisting> </informalexample> </para> @@ -397,14 +413,16 @@ <para> <informalexample> <programlisting role="php"> -<?php +<![CDATA[ +<?php function ize() { $pm_szama = func_num_args(); echo "A parameterek szama: {$pm_szama}\n"; } -foo (1, 2, 3); // azt írja ki: 'A parameterek szama: 3' -?> +ize (1, 2, 3); // kiírja, hogy : 'A parameterek szama: 3' +?> +]]> </programlisting> </informalexample> </para> @@ -441,12 +459,14 @@ és &true;-val tér vissza, ha az adott nevû függvényt megtalálta, egyébként &false;-szal. <informalexample> <programlisting role="php"> +<![CDATA[ if (function_exists('imap_open')) { - echo "IMAP függvények használhatók.<br>\n"; + echo "IMAP függvények használhatók.<br/>\n"; } else { - echo "IMAP függvények _nem_ használhatók.<br>\n"; + echo "IMAP függvények _nem_ használhatók.<br/>\n"; } - </programlisting> +]]> + </programlisting> </informalexample> Vigyázz, mert egy függvény neve létezhet, még akkor is ha a függvény maga nem használható valamilyen konfigurációs vagy fordítási beálltás következtében. @@ -480,13 +500,15 @@ (lásd a lenti példát) <informalexample> <programlisting role="php"> +<![CDATA[ function az_en_sorom($id, $adat) { - return "<tr><th>$id</th><td>$adat</td></tr>\n"; + return "<tr><th>$id</th><td>$adat</td></tr>\n"; } $arr = get_defined_functions(); print_r($arr); +]]> </programlisting> </informalexample> </para> @@ -494,28 +516,30 @@ valami hasonlót fog kírni: <informalexample> <programlisting> +<![CDATA[ Array ( - [internal] => Array + [internal] => Array ( - [0] => zend_version - [1] => func_num_args - [2] => func_get_arg - [3] => func_get_args - [4] => strlen - [5] => strcmp - [6] => strncmp + [0] => zend_version + [1] => func_num_args + [2] => func_get_arg + [3] => func_get_args + [4] => strlen + [5] => strcmp + [6] => strncmp ... - [750] => bcscale - [751] => bccomp + [750] => bcscale + [751] => bccomp ) - [user] => Array + [user] => Array ( - [0] => az_en_sorom + [0] => az_en_sorom ) ) +]]> </programlisting> </informalexample> </para> Index: phpdoc/hu/functions/math.xml diff -u phpdoc/hu/functions/math.xml:1.5 phpdoc/hu/functions/math.xml:1.6 --- phpdoc/hu/functions/math.xml:1.5 Fri Dec 7 10:52:49 2001 +++ phpdoc/hu/functions/math.xml Sun Dec 9 05:54:52 2001 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-2" ?> -<!-- EN-Revision: 1.55 Maintainer: pgerzson Status: ready --> +<!-- EN-Revision: 1.61 Maintainer: pgerzson Status: ready --> <reference id="ref.math"> <title>Matematikai függvények</title> <titleabbrev>Matematika</titleabbrev> @@ -160,10 +160,36 @@ </funcprototype> </funcsynopsis> <para> - Ay <parameter>arg</parameter> arkusz koszinuszát adja vissza radiánban. + Az <parameter>arg</parameter> arkusz koszinuszát adja vissza radiánban. </para> <para> - Lásd még: <function>asin</function> és <function>atan</function>! + Lásd még: <function>acosh</function>, <function>asin</function> és <function>atan</function>! + </para> + </refsect1> + </refentry> + + <refentry id="function.acosh"> + <refnamediv> + <refname>acosh</refname> + <refpurpose>area hiperbolikus koszinusz</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>acosh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> area hiperbolikus koszinuszát adja vissza, + azt az értéket, amelynek hiperbolikus koszinusza egyenlõ az + <parameter>arg</parameter> paraméterrel. + </para> + ¬e.no-windows; + <para> + Lásd még: <function>acos</function>, <function>asin</function> + és <function>atan</function>! </para> </refsect1> </refentry> @@ -190,6 +216,32 @@ </refsect1> </refentry> + <refentry id="function.asinh"> + <refnamediv> + <refname>asinh</refname> + <refpurpose>area hiperbolikus szinusz</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>asinh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> area hiperbolikus szinuszával tér vissza, + azzal az értékkel, amelynnek hiperbolikus szinusza egyenlõ az + <parameter>arg</parameter> paraméterrel. + </para> + ¬e.no-windows; + <para> + Lásd még: <function>asin</function>, <function>acos</function> + és <function>atan</function>! + </para> + </refsect1> + </refentry> + <refentry id="function.atan"> <refnamediv> <refname>atan</refname> @@ -212,6 +264,31 @@ </refsect1> </refentry> + <refentry id="function.atanh"> + <refnamediv> + <refname>atanh</refname> + <refpurpose>area hiperbolikus tangens</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>atanh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> area hiperbolikus tangensével tér vissza, + azzal az értékkel, amelynek hiiperbolikus tangense egyenlõ az <parameter>arg</parameter> paraméterrel. + </para> + ¬e.no-windows; + <para> + Lásd még: <function>atan</function>, <function>asin</function> + és <function>acos</function>! + </para> + </refsect1> + </refentry> + <refentry id="function.atan2"> <refnamediv> <refname>atan2</refname> @@ -264,7 +341,9 @@ <example> <title><function>base_convert</function></title> <programlisting role="php"> +<![CDATA[ $binaris = base_convert ($hexadecimalis, 16, 2); +]]> </programlisting> </example> </para> @@ -346,6 +425,30 @@ </refsect1> </refentry> + <refentry id="function.cosh"> + <refnamediv> + <refname>cosh</refname> + <refpurpose>hiperbolikus koszinusz</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>cosh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> hiperbolikus koszinuszát adja vissza, amelyet + a <literal>(exp(arg) + exp(-arg))/2</literal> kifejezéssel határozható meg. + </para> + <para> + Lásd még: <function>cos</function>, <function>acosh</function>, + <function>sin</function> és <function>tan</function>! + </para> + </refsect1> + </refentry> + <refentry id="function.decbin"> <refnamediv> <refname>decbin</refname> @@ -477,6 +580,15 @@ A <function>floor</function> által visszadott érték <type>float</type> típusú, mivel a <type>float</type> értékészlete általában nagyobb, mint <type>int</type>-é. </simpara> + <example> + <title><function>floor</function> példa</title> + <programlisting role="php"> +<![CDATA[ +$negy = floor(4.3); // $negy = 4.0; +$kilenc = floor(9.999); // $kilenc = 9.0; +]]> + </programlisting> + </example> <simpara> Lásd még: <function>ceil</function> és <function>round</function>! </simpara> @@ -501,7 +613,7 @@ </simpara> <simpara> Lásd még: <function>rand</function>, <function>srand</function>, - <function>mt_rand</function>, <function>mt_srand</function>, és + <function>mt_rand</function>, <function>mt_srand</function> és <function>mt_getrandmax</function>! </simpara> </refsect1> @@ -531,6 +643,7 @@ <example> <title><function>hexdec</function> példa</title> <programlisting role="php"> +<![CDATA[ var_dump(hexdec("hee")); var_dump(hexdec("ee")); // mindketto: int(238) @@ -538,6 +651,7 @@ var_dump(hexdec("az")); var_dump(hexdec("a0")); // mindketto: int(160) +]]> </programlisting> </example> </para> @@ -561,15 +675,9 @@ </funcprototype> </funcsynopsis> <para> - <function>lcg_value</function> returns a pseudo random number in - the range of (0, 1). The function combines two CGs with periods - of 2^31 - 85 and 2^31 - 249. The period of this function is equal - to the product of both primes. - - <!-- - A függvény két, 2^31 - 85 és 2^31 - 249 periódusú kongruenst kombinál, és a periódusa - ennek a két prímnek a szorzatával egyenlõ. - --> + A <function>lcg_value</function> ál véletlenszámot ad vissza a (0,1) intervallumból. + A függvény két, 2^31 - 85 és 2^31 - 249 periódusú CG-t kombinál, + és a periódusa ennek a két prímnek a szorzatával egyenlõ. </para> </refsect1> </refentry> @@ -628,7 +736,7 @@ </funcprototype> </funcsynopsis> <para> - A <function>max</function> a paraméterként átadott számként értelmezett értékek legnagyobbjával tér vissza. + A <function>max</function> a paraméterként átadott, számként értelmezett értékek legnagyobbjával tér vissza. </para> <para> Ha az elsõ paraméter tömb típusú, akkor a tömbbeli legnagyobb értéket adja vissza. @@ -664,7 +772,7 @@ </funcprototype> </funcsynopsis> <para> - A <function>min</function> a paraméterként átadott számként értelmezett értékek legkisebbjével tér vissza. + A <function>min</function> a paraméterként átadott, számként értelmezett értékek legkisebbjével tér vissza. </para> <para> Ha az elsõ paraméter tömb típusú, akkor a tömbbeli legkisebb értéket adja vissza. @@ -759,6 +867,7 @@ Beállítja a véletlenszám generátor kiinduló értékét <parameter>seed</parameter>-re. <informalexample> <programlisting role="php"> +<![CDATA[ // beállítás ezredmásodpercekkel function make_seed() { list($usec, $sec) = explode(' ', microtime()); @@ -766,6 +875,7 @@ } mt_srand(make_seed()); $randval = mt_rand(); +]]> </programlisting> </informalexample> </para> @@ -796,7 +906,7 @@ </simpara> <simpara> Lásd még: <function>mt_rand</function>, - <function>mt_srand</function> <function>rand</function>, + <function>mt_srand</function>, <function>rand</function>, <function>srand</function> és <function>getrandmax</function>. </simpara> @@ -853,7 +963,8 @@ tagolja az egész részt. Ez a következõképpen érhetõ el: </para> <programlisting role="php"> -<?php +<![CDATA[ +<?php $szam = 1234.56; @@ -872,7 +983,8 @@ $angol_szam_forma = number_format($szam, 2, '.', ''); // 1234.56 -?> +?> +]]> </programlisting> </example> </para> @@ -928,10 +1040,10 @@ <para> <informalexample> <programlisting> - +<![CDATA[ echo pi(); // azt írja ki, hogy : 3.1415926535898 - +]]> </programlisting> </informalexample> </para> @@ -1092,6 +1204,7 @@ <para> <informalexample> <programlisting role="php"> +<![CDATA[ $ize = round(3.4); // $ize == 3.0 $ize = round(3.5); // $ize == 4.0 $ize = round(3.6); // $ize == 4.0 @@ -1100,6 +1213,7 @@ $ize = round(1.95583, 2); // $ize == 1.96 $ize = round(1241757, -3); // $ize == 1242000 +]]> </programlisting> </informalexample> </para> @@ -1136,6 +1250,30 @@ </refsect1> </refentry> + <refentry id="function.sinh"> + <refnamediv> + <refname>sinh</refname> + <refpurpose>hiperbolikus szinusz</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>sinh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> hiperbolikus szinuszát adja vissza, + amelyet a <literal>(exp(arg) - exp(-arg))/2</literal> kifejezés határoz meg. + </para> + <para> + Lásd még: <function>sin</function>, <function>asinh</function>, + <function>cos</function> és <function>tan</function>! + </para> + </refsect1> + </refentry> + <refentry id="function.sqrt"> <refnamediv> <refname>sqrt</refname> @@ -1172,6 +1310,7 @@ Beállítja a véletlenszám generátor kiinduló értékét <parameter>seed</parameter>-re. <informalexample> <programlisting role="php"> +<![CDATA[ // beállítás ezredmásodpercekkel function make_seed() { list($usec, $sec) = explode(' ', microtime()); @@ -1179,6 +1318,7 @@ } srand(make_seed()); $randval = rand(); +]]> </programlisting> </informalexample> </para> @@ -1211,7 +1351,32 @@ Lásd még: <function>sin</function> és <function>cos</function>! </para> </refsect1> + + </refentry> + <refentry id="function.tanh"> + <refnamediv> + <refname>tanh</refname> + <refpurpose>hiperbolikus tangens</refpurpose> + </refnamediv> + <refsect1> + <title>Leírás</title> + <funcsynopsis> + <funcprototype> + <funcdef>float <function>tanh</function></funcdef> + <paramdef>float <parameter>arg</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + Az <parameter>arg</parameter> hiperbolikus tangensét adja vissza, amelyet + a <literal>sinh(arg)/cosh(arg)</literal> kifejezés definiál. + </para> + <para> + Lásd még: <function>tan</function>, <function>atanh</function>, + <function>sin</function> és <function>cos</function>! + </para> + </refsect1> </refentry> + </reference> Index: phpdoc/hu/functions/pcre.xml diff -u phpdoc/hu/functions/pcre.xml:1.3 phpdoc/hu/functions/pcre.xml:1.4 --- phpdoc/hu/functions/pcre.xml:1.3 Fri Dec 7 10:52:50 2001 +++ phpdoc/hu/functions/pcre.xml Sun Dec 9 05:54:52 2001 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-2"?> -<!-- EN-Revision: 1.61 Maintainer: pgerzson Status: ready --> +<!-- EN-Revision: 1.66 Maintainer: pgerzson Status: ready --> <reference id="ref.pcre"> <title>Reguláris kifejezések függvényei (Perl kompatibilis)</title> <titleabbrev>PCRE</titleabbrev> @@ -21,7 +21,7 @@ <example> <title>Példák érvényes mintákra</title> <itemizedlist> - <listitem><simpara>/<\/\w+>/</simpara></listitem> + <listitem><simpara>/<\/\w+>/</simpara></listitem> <listitem><simpara>|(\d{3})-\d+|Sm</simpara></listitem> <listitem><simpara>/^(?i)php[34]/</simpara></listitem> <listitem><simpara>{^\s+(\s+)?$}</simpara></listitem> @@ -101,6 +101,7 @@ <example> <title>A "php" sztring keresése</title> <programlisting role="php"> +<![CDATA[ // az "i" a minta határolójele után azt jelzi, // hogy a kis- és nagybetûkre közömbös a keresés. if (preg_match ("/php/i", "PHP a web-scripting nyelvek egyike.")) { @@ -108,11 +109,13 @@ } else { print "A minta nem passzol."; } +]]> </programlisting> </example> <example> <title>A "web" szó keresése</title> <programlisting role="php"> +<![CDATA[ // a mintában a \b szóhatárt jelöl, ezért csak a különálló // "web" szavakra fog illeszkedni, és szórészletekre // úgymint "webbing" vagy "cobweb" pedig nem. @@ -127,11 +130,13 @@ } else { print "A match nem passzol."; } +]]> </programlisting> </example> <example> <title> domain-név kinyerése URL-bõl</title> <programlisting role="php"> +<![CDATA[ // gazdagép neve az URL-bõl preg_match("/^(http:\/\/)?([^\/]+)/i", "http://www.php.net/index.html", $matches); @@ -139,12 +144,17 @@ // a gazdagépnév utolsó két része preg_match("/[^\.\/]+\.[^\.\/]+$/",$host,$matches); echo "A domain név : ".$matches[0]."\n"; +]]> </programlisting> </example> + <para> Ez a példa a következõt eredményezi: - <programlisting> + <screen> +<![CDATA[ A domain név : php.net - </programlisting> +]]> + </screen> + </para> Lásd még: <function>preg_match_all</function>, <function>preg_replace</function> és <function>preg_split</function>! @@ -193,19 +203,23 @@ részmintára illeszkednek, és így tovább. <informalexample> <programlisting role="php"> -preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", - "<b>példa: </b><div align=left>ez itt a teszt szöveg</div>", +<![CDATA[ +preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", + "<b>példa: </b><div align=left>ez itt a teszt szöveg</div>", $out, PREG_PATTERN_ORDER); print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n" +]]> </programlisting> - </informalexample> - Ez a példa az alábbi eredményt adja: - <informalexample> - <programlisting> -<b>példa: </b>, <div align=left>ez itt a teszt szöveg</div> + <para> + Ez a példa az alábbi eredményt adja: + <screen> +<![CDATA[ +<b>példa: </b>, <div align=left>ez itt a teszt szöveg</div> példa: , ez itt a teszt szöveg - </programlisting> +]]> + </screen> + </para> </informalexample> Tehát, az $out[0] egy tömb az összes, teljes mintára illeszkedõ szöveggel, és $out[1] egy tömb az összes HTML-elem közti szöveggel. @@ -220,19 +234,23 @@ a $matches[1] a második eredményeit fogja tartalmazni, és így tovább. <informalexample> <programlisting role="php"> -preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", - "<b>példa: </b><div align=left>ez itt a teszt szöveg</div>", +<![CDATA[ +preg_match_all ("|<[^>]+>(.*)</[^>]+>|U", + "<b>példa: </b><div align=left>ez itt a teszt szöveg</div>", $out, PREG_SET_ORDER); print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n" +]]> </programlisting> - </informalexample> + <para> Ez a példa az alábbi eredményt adja: - <informalexample> - <programlisting role="php"> -<b>példa: </b>, példa: -<div align=left>ez itt a teszt szöveg</div>, ez itt a teszt szöveg - </programlisting> + <screen> +<![CDATA[ +<b>példa: </b>, példa: +<div align=left>ez itt a teszt szöveg</div>, ez itt a teszt szöveg +]]> + </screen> + </para> </informalexample> Ebben az esetben $matches[0] az elsõ illesztés során megtalált szövegrészeket tartalmazza, a $matches[0][0]-ben a teljes mintára @@ -255,8 +273,10 @@ <example> <title>Az összes telefonszám kigyûjtése egy adott szövegbõl.</title> <programlisting role="php"> +<![CDATA[ preg_match_all ("/\(? (\d{3})? \)? (?(1) [\-\s] ) \d{3}-\d{4}/x", "Hívd a 555-1212 vagy 1-800-555-1212 számot", $phones); +]]> </programlisting> </example> </para> @@ -264,34 +284,38 @@ <example> <title>HTML elemek keresése (mohón)</title> <programlisting role="php"> +<![CDATA[ // A \\2 példa a hivatkozásra. Ez mondja meg PCRE-nek, hogy a másodikként // megadott kerek zárójelre - ami ebben az esetben ([\w]+) - illesztett // szövegnek kell szerepelnie azon a helyen is. A plusz visszaperjelre azért // van szükség, mert a minta macskakörmök ("") közé van fogva. -$html = "<b>félkövér szöveg</b><a href=howdy.html>kattints ide</a> +$html = "<b>félkövér szöveg</b><a href=howdy.html>kattints ide</a> -preg_match_all ("/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/", $html, +preg_match_all ("/(<([\w]+)[^<]*>)(.*)(<\/\\2>)/", $html, $matches); -for ($i=0; $i< count($matches[0]); $i++) { +for ($i=0; $i < count($matches[0]); $i++) { echo "passzolt: ".$matches[0][$i]."\n"; echo "1. rész: ".$matches[1][$i]."\n"; echo "2. rész: ".$matches[3][$i]."\n"; echo "3. rész: ".$matches[4][$i]."\n\n"; } +]]> </programlisting> </example> A példa ezt eredményezi: <programlisting> -passzolt: <b>félkövér szöveg</b> -1. rész: <b> +<![CDATA[ +passzolt: <b>félkövér szöveg</b> +1. rész: <b> 2. rész: félkövér szöveg -3. rész: </b> +3. rész: </b> -passzolt: <a href=howdy.html>kattints ide</a> -1. rész: <a href=howdy.html> +passzolt: <a href=howdy.html>kattints ide</a> +1. rész: <a href=howdy.html> 2. rész: kattints ide -3. rész: </a> +3. rész: </a> +]]> </programlisting> </para> <simpara> @@ -384,22 +408,28 @@ <example> <title>Néhány érték cseréje</title> <programlisting> +<![CDATA[ $mintak = array ("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/", "/^\s*{(\w+)}\s*=/"); $csere = array ("\\3/\\4/\\1\\2", "$\\1 ="); print preg_replace ($mintak, $csere, "{kezdoDatum} = 1999-5-27"); +]]> </programlisting> </example> Ennek a példának a végeredménye: <programlisting> +<![CDATA[ $kezdoDatum = 5/27/1999 +]]> </programlisting> <example> <title>Az /e módosítót használata:</title> <programlisting role="php"> -preg_replace ("/(<\/?)(\w+)([^>]*>)/e", +<![CDATA[ +preg_replace ("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtoupper('\\2').'\\3'", $html_body); +]]> </programlisting> <para> Ez az összes HTML elemet nagybetûsre cseréli a bemeneti szövegben. @@ -408,32 +438,33 @@ <example> <title>HTML-bõl sima szöveggé konvertálás</title> <programlisting role="php"> +<![CDATA[ // A $dokumentum HTML formátumú. // Minden HTML elemet, javascript szakaszt és térközt eltávolít a // dokumentumból. Ezenkívül néhány megszokott HTML entitást is a // sima, karakteres megfelelõikre konvertál. -$mit = array ("'<script[^>]*?>.*?</script>'si", // javascript eltüntetése - "'<[\/\!]*?[^<>]*?>'si", // HTML elemek eltüntetése +$mit = array ("'<script[^<]*?>.*?</script>'si", // javascript eltüntetése + "'<[\/\!]*?[^<>]*?>'si", // HTML elemek eltüntetése "'([\r\n])[\s]+'", // térközök - "'&(quot|#34);'i", // HTML entitások - "'&(amp|#38);'i", - "'&(lt|#60);'i", - "'&(gt|#62);'i", - "'&(nbsp|#160);'i", - "'&(iexcl|#161);'i", - "'&(cent|#162);'i", - "'&(pound|#163);'i", - "'&(copy|#169);'i", - "'&#(\d+);'e"); // PHP kódként értelmezze + "'&(quot|#34);'i", // HTML entitások + "'&(amp|#38);'i", + "'&(lt|#60);'i", + "'&(gt|#62);'i", + "'&(nbsp|#160);'i", + "'&(iexcl|#161);'i", + "'&(cent|#162);'i", + "'&(pound|#163);'i", + "'&(copy|#169);'i", + "'&#(\d+);'e"); // PHP kódként értelmezze $mire = array ("", "", "\\1", "\"", - "&", - "<", - ">", + "&", + "<", + ">", " ", chr(161), chr(162), @@ -442,6 +473,7 @@ "chr(\\1)"); $szoveg = preg_replace ($mit, $mire, $dokumentum); +]]> </programlisting> </example> </para> @@ -564,9 +596,11 @@ <title><function>preg_split</function> példa : a keresett szöveg kucslszavait adja vissza.</title> <programlisting role="php"> +<![CDATA[ // Feldarabolja a kifejezést vesszõk és térközkarakterek mentén, // amelyek a következõk " ", \r, \t, \n és \f . $kulcsszavak = preg_split ("/[\s,]+/", "hypertext language, programming"); +]]> </programlisting> </example> </para> @@ -574,9 +608,11 @@ <example> <title>Sztring karakterekre darabolása</title> <programlisting role="php"> +<![CDATA[ $sztring = 'karakterfûzér'; $karakterek = preg_split('//', $sztring, -1, PREG_SPLIT_NO_EMPTY); print_r($karakterek); +]]> </programlisting> </example> </para> @@ -625,21 +661,24 @@ A / a leggyakrabban használt határolójel.</para> <para> A reguláris kifejezésekben elõforduló speciális karakterek: - <screen>. \ + * ? [ ^ ] $ ( ) { } = ! < > | :</screen> + <screen> +<![CDATA[ . \ + * ? [ ^ ] $ ( ) { } = ! < > | :]]></screen> </para> <para> <example> <title></title> <programlisting role="php"> +<![CDATA[ $kulcsszavak = "$40 egy g3/400-ért"; $kulcsszavak = preg_quote ($keywords, "/"); echo $kulcsszavak; // \$40 egy g3\/400-ért adja vissza +]]> </programlisting> </example> <example> <title>Adott szöveg megdöntése</title> <programlisting role="php"> - +<![CDATA[ // Ebben a példában preg_quote($szo)-t használjuk arra, hogy // a csillagokat megfosszuk a reguláris kifejezésekben használt // speciális jelentésüktõl. @@ -647,8 +686,9 @@ $szoveg = "Ezt a könyvet *nagyon* nehéz megtalálni."; $szo = "*nagyon*"; $szoveg = preg_replace ("/".preg_quote($szo)."/", - "<i>".$szo."</i>", + "<i>".$szo."</i>;", $szoveg); +]]> </programlisting> </example> </para> @@ -686,8 +726,10 @@ <example> <title><function>preg_grep</function> példa</title> <programlisting role="php"> +<![CDATA[ // visszad minden olyan $tomb-beli elemet, ami lebegõpontos számot tartalmaz $lebegopontos_tomb = preg_grep ("/^(\d+)?\.\d+$/", $tomb); +]]> </programlisting> </example> </para> @@ -912,7 +954,7 @@ </listitem> <listitem> <simpara> - 3. Tagadó elõretekintõ tesztekben (negated lookahead assertion) szereplõ + Tagadó elõretekintõ tesztekben (negated lookahead assertion) szereplõ "begyûjtõ" részminták (capturing subpatterns) számon vannak tartva, de a hozzájuk tartozó numerikus változók soha nem kerülnek feltöltésre. Perl feltölti ezeket a numerikus változókat valamilyen, a sikertelen @@ -922,7 +964,7 @@ </listitem> <listitem> <simpara> - 4. A bináris nullkarakter használata megengedett a tárgyszövegben, de + A bináris nullkarakter használata megengedett a tárgyszövegben, de a mintában nem, mert a mintául szolgáló sztring nullvégû C sztringként adódik át. A "\0" vezérlõszekvencia használható a mintában bináris nullkarakter megjelenítésére. @@ -930,7 +972,7 @@ </listitem> <listitem> <simpara> - 5. Nem támogatja az alábbi Perl vezérlõszekvenciákat: + Nem támogatja az alábbi Perl vezérlõszekvenciákat: \l, \u, \L, \U, \E, \Q. Valójában ezek a funkciók a Perl sztringkezelõ részében vannak megvalósítva, és nem tartoznak annak mintaillesztõ motorjához. @@ -938,18 +980,18 @@ </listitem> <listitem> <simpara> - 6. A Perl \G tesztjét nem támogatja, mivel nem fontos az egyszeres minta + A Perl \G tesztjét nem támogatja, mivel nem fontos az egyszeres minta illesztésekben. </simpara> </listitem> <listitem> <simpara> - 7. Magától érthetõdõen PCRE nem támogatja a (?{kód}) szerkezetet. + Magától érthetõdõen PCRE nem támogatja a (?{kód}) szerkezetet. </simpara> </listitem> <listitem> <simpara> - 8. A kézikönyv írása során néhány furcsaság még van a Perl 5.002_2-ben a + A kézikönyv írása során néhány furcsaság még van a Perl 5.002_2-ben a begyûjtött sztringek feltöltésével kapcsolatban, ha a mintarészek ismétlõdhetnek. Például, "aba"-ra illesztve a /^(a(b)?)+$/ mintát $2 numerikus változó értéke "b" lesz, míg a "aabbaa"-ra illesztve @@ -962,7 +1004,7 @@ </listitem> <listitem> <simpara> - 9. Másik mindeddig megoldatlan eltérés, hogy pl. /^(a)?(?(1)a|b)+$/ + Másik mindeddig megoldatlan eltérés, hogy pl. /^(a)?(?(1)a|b)+$/ minta Perl 5.002_2-ben illeszkedik a "a"-ra, míg PCRE-ben nem. Ráadásul mind Perl-ben mind PCRE-ben /^(a)?a/ minta "a"-ra illesztése során a $1 változó üresen marad. @@ -970,12 +1012,12 @@ </listitem> <listitem> <para> - 10. PCRE néhény bõvítést is nyújt a Perl reguláris kifejezéseinek + PCRE néhény bõvítést is nyújt a Perl reguláris kifejezéseinek lehetõségeihez: <orderedlist> <listitem> <simpara> - (a) Jóllehet a hátratekintõ tesztek csak rögzített hosszúságú + Jóllehet a hátratekintõ tesztek csak rögzített hosszúságú sztringekre illeszkedhetnek, az alternatív ágak mindegyikében különbözõ hosszúságú sztringre illeszkedõ minta adható meg. Perl 5.005-ben minden ágban ugyanakkorának kell lennie ennek a hossznak. @@ -983,21 +1025,21 @@ </listitem> <listitem> <simpara> - (b) Ha a <link linkend="pcre.pattern.modifiers">PCRE_DOLLAR_ENDONLY</link> + Ha a <link linkend="pcre.pattern.modifiers">PCRE_DOLLAR_ENDONLY</link> be van kapcsolva, és a <link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link> nincs bekapcsolva, akkor $ metakarakter csakis a sztring legvégére illeszkedik. </simpara> </listitem> <listitem> <simpara> - (c) Ha <link linkend="pcre.pattern.modifiers">PCRE_EXTRA</link> be van + Ha <link linkend="pcre.pattern.modifiers">PCRE_EXTRA</link> be van kapcsolva, akkor bármilyen külön jelentéssel nem bíró karakter elõtti visszaperjel hibának minõsül. </simpara> </listitem> <listitem> <simpara> - (d) Ha <link linkend="pcre.pattern.modifiers">PCRE_UNGREEDY</link> be van + Ha <link linkend="pcre.pattern.modifiers">PCRE_UNGREEDY</link> be van kapcsolva, akkor a kvantorok (sokszorozók) mohóságát fordítva értelmezi, azaz, alapértelmezés szerint nem mohók, csak ha egy kérdõjel ? áll utánuk. </simpara>