<?php
$tmpl = $_GET["shablon"];
/* ΡΠ°Π±Π»ΠΎΠ½, Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠΎΠΊΠ°:
"<h1><!title></h1>
<font
size=-1><!description></font>
<palign=right><!author><br><!published>
" */function Show(){
// ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ Π·Π°ΠΌΠ΅Π½Ρ
// ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ°Π±Π»ΠΎΠ½Π° Π½Π° Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
global $tmpl;
foreach($_GET as $k => $v) {
$tmpl = str_replace("<!$k>",$v,$tmpl);
}
echo $tmpl;
}
Show();
?>
ΠΠ°ΠΊ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ? ΠΡΠ»ΠΈ ΠΌΡ Π²Π²Π΅Π΄Π΅ΠΌ Π² ΡΠΎΡΠΌΡ ΡΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 8.1, ΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ:
ΠΠ΅ΡΠ²Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠΈ Π½Π°ΡΠ΅Π»Π΅Π½ΠΈΡ
ΠΠ΄Π΅Ρ Π½Π°Π½ΠΎΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΠΊΠ°ΡΡΡ ΠΈ Π·Π°ΡΠ΅ΠΌ
ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π»Π° ΠΠΆΠΎΠ½Ρ ΠΠΈΠ»Π»ΠΈΠ½Π³ΡΡ, Π° Π΅Π΅
ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΠ» ΠΠ΅ΡΠΌΠ°Π½
Π₯ΠΎΠ»Π»Π΅ΡΠΈΡ. ΠΠ΅ΡΡΠΎΠΊΠ°ΡΡΠ° Π₯ΠΎΠ»Π»Π΅ΡΠΈΡΠ° ΠΎΠΊΠ°Π·Π°Π»Π°ΡΡ
Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄Π°ΡΠ½ΠΎΠΉ, ΡΡΠΎ Π±Π΅Π· ΠΌΠ°Π»Π΅ΠΉΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
ΠΏΡΠΎΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»Π° Π΄ΠΎ Π½Π°ΡΠΈΡ Π΄Π½Π΅ΠΉ.
Π. Π. Π€Π΅Π΄ΠΎΡΠΎΠ²
12.02.03
Π€ΡΠ½ΠΊΡΠΈΡ substr_replace
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄Π²ΡΡ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ Π½Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ β ΡΡΠ½ΠΊΡΠΈΠΈ str_replace() ΠΈ substr(). ΠΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ°ΠΊΠΎΠ²:
substr_replace (ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°,
ΡΡΡΠΎΠΊΠ° Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ,
ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° [, Π΄Π»ΠΈΠ½Π°])
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ ΡΡΡΠΎΠΊΠΎΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ. ΠΠ°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ° ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ (Ρ.Π΅. ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°), ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° Π΄Π»ΠΈΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π’ΠΎ Π΅ΡΡΡ, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ, ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ, Π³Π΄Π΅ ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΡΡ Π΄Π»ΠΈΠ½Ρ ΠΈΠΌΠ΅Π΅Ρ. Π ΡΡΠΎΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ substr_replace() ΠΎΡ str_replace().
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ substr() Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈ Π΄Π»ΠΈΠ½Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠ»ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½Π°, ΡΠΎ Π·Π°ΠΌΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ. ΠΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° Π·Π°Π΄Π°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΡ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ. ΠΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π° Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΠΎ Π·Π°ΠΌΠ΅Π½Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ.
<?php
$text = "ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ°ΡΡ.";
echo "ΠΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°: $text<hr>\n";
/* Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΡΡ Π²ΡΡ
ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΡΡΡΠΎΠΊΠΎΠΉ 'Π ΠΌΠ΅Π½Ρ β ΠΠ΅ΡΡ' */
echo substr_replace($text, 'Π ΠΌΠ΅Π½Ρ β ΠΠ΅ΡΡ',
0) . "<br>\n";
echo substr_replace($text, 'Π ΠΌΠ΅Π½Ρ β ΠΠ΅ΡΡ',
0, strlen($text)) . "<br>\n";
// Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ ΡΠ»ΠΎΠ²ΠΎ 'ΠΡΠΈΠ²Π΅Ρ! '
// Π² Π½Π°ΡΠ°Π»ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
echo substr_replace($text, 'ΠΡΠΈΠ²Π΅Ρ! ',
0, 0) . "<br>\n";
// Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΡΡ ΠΈΠΌΡ ΠΠ°ΡΡ
// Π½Π° ΠΈΠΌΡ ΠΠ²Π°Π½ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
echo substr_replace($text, 'ΠΠ²Π°Π½', 11,
-1) . "<br>\n";
echo substr_replace($text, 'ΠΠ²Π°Π½', -5,
-1) . "<br>\n";
?>
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠΌ:
ΠΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°: ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ°ΡΡ.
------------------------------------------
Π ΠΌΠ΅Π½Ρ β ΠΠ΅ΡΡ
Π ΠΌΠ΅Π½Ρ β ΠΠ΅ΡΡ
ΠΡΠΈΠ²Π΅Ρ! ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ°ΡΡ.
ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ²Π°Π½.
ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ²Π°Π½.
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ
ΠΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π½Π° ΡΠ°ΡΡΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ. ΠΠΎΡΠ΅ΠΌΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅? ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΠ΅ ΡΠΎΡΠΌΡ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π΅ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ±ΠΎΡΠ°, ΡΠ°Π·Π΄Π΅Π»ΡΡ ΠΈΡ ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ. Π Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΡΠΌΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ Π½Π° ΠΊΡΡΠΎΡΠΊΠΈ. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ Π² PHP ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ:
explode(ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ,ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°
[,ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²])
split (ΡΠ°Π±Π»ΠΎΠ½, ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°
[, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²])
preg_split (ΡΠ°Π±Π»ΠΎΠ½, ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°
[, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
[,ΡΠ»Π°Π³ΠΈ]])
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π² Π΄Π°Π½Π½ΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΠΌΡ ΠΈΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ β explode().
Π€ΡΠ½ΠΊΡΠΈΡ explode() Π΄Π΅Π»ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΡΡΠΎΠΊΡ Π½Π° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΡ ΡΠΎΡΠ΅Π΄Π½Π΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊ. ΠΡΠ»ΠΈ Π·Π°Π΄Π°Π½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΡ ΠΎΡΡΠ°ΡΠΎΠΊ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΠΊΠ°Π·Π°Π½Π° ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Β«""Β», ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ explode() Π²Π΅ΡΠ½Π΅Ρ false. ΠΡΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½Π΅Ρ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠΈΠΌΠ΅Ρ 8.11. ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΡΠΌΡ β Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π²Π΅ΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ Ρ ΡΠ·ΡΠΊΠΎΠΌ html. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΊΡΡ ΡΠΎΡΠΌΡ:
<form action=exp.php>
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π°Π²ΡΠΎΡΠ° ΡΡΠ°ΡΡΠΈ
ΡΠ΅ΡΠ΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΠ΅ (":"):<br>
<input type=text name=author size=40>
<br>
<input type=submit value=Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ>
</form>
Π‘ΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π΅Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ (exp.php), ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ:
<?php
$str = $_GET["author"];
$names = explode(":",$str);
// ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΠΌ ΡΡΡΠΎΠΊΡ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ,
// ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ":"
$s = "<select name=author>";
// ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ
foreach ($names as $k => $name) {
$s .= "<option value=$k>$name";
// Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊ ΡΠΏΠΈΡΠΊΡ
}
$s .= "</select>";
echo $s;
?>
Π ΠΈΡΠΎΠ³Π΅, Π΅ΡΠ»ΠΈ ΠΌΡ Π²Π²Π΅Π΄Π΅ΠΌ ΡΠ°ΠΊΡΡ ΡΡΡΠΎΡΠΊΡ Π² ΡΠΎΡΠΌΡ:
ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ:
ΠΡΠΎΠΌΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π½Π° ΡΠ°ΡΡΠΈ ΠΈΠ½ΠΎΠ³Π΄Π°, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΠΊ Π² ΠΎΠ΄Π½ΠΎ ΡΠ΅Π»ΠΎΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠ°Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠΎΠΌ PHP, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ implode():
implode (ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ)
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΡΠΎΠΉ). Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ explode(), ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΡΠ½ΠΊΡΠΈΠΈ implode() Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ 8.12. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ ΡΠ°Π½ΠΈΠΌ ΠΈΠΌΡ, ΡΠ°ΠΌΠΈΠ»ΠΈΡ ΠΈ ΠΎΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΠΌΠ΅ΡΡΠ΅. Π§ΡΠΎΠ±Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΈΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ implode():
<?php
$data = array("ΠΠ²Π°Π½ΠΎΠ²","ΠΠ²Π°Π½","ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ");
$str = implode($data," ");
echo $str;
?>
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΡΠΎΠΊΡ:
ΠΠ²Π°Π½ΠΎΠ² ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ
Π£ ΡΡΠ½ΠΊΡΠΈΠΈ implode() ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ β ΡΡΠ½ΠΊΡΠΈΡ join(), Ρ.Π΅. ΡΡΠΈ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π»ΠΈΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.
Π‘ΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ html-ΠΊΠΎΠ΄
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΡΠΎ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΠΈ html-ΡΠ΅Π³ΠΈ. ΠΡΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ°ΠΊΡΡ ΡΡΡΠΎΠΊΡ Π² Π±ΡΠ°ΡΠ·Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ echo() ΠΈΠ»ΠΈ print(), ΡΠΎ ΠΌΡ Π½Π΅ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ°ΠΌΠΈΡ html-ΡΠ΅Π³ΠΎΠ², Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠΈΠΌΠΈ ΡΠ΅Π³Π°ΠΌΠΈ ΡΡΡΠΎΠΊΡ. ΠΡΠ°ΡΠ·Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ html-ΡΠ΅Π³ΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ° HTML. ΠΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΡΠΎΠΊΡ, Π±Π΅Π· ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΅Π΅ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ. Π§ΡΠΎΠ±Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ Π½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΡ htmlspecialchars().
Π€ΡΠ½ΠΊΡΠΈΡ htmlspecialchars (ΡΡΡΠΎΠΊΠ° [, ΡΡΠΈΠ»Ρ ΠΊΠ°Π²ΡΡΠ΅ΠΊ [, ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°]]) ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Β«<Β», Β«>Β», Β«&Β», Β«"Β» , Β«'Β» Π² ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° HTML, ΠΊΠ°ΠΊ Β«<Β», Β«>Β», Β«&Β», Β«"Β», Β«'Β» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΡΠΈΠ»Ρ ΠΊΠ°Π²ΡΡΠ΅ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ: ENT_COMPAT, ENT_QUOTES, ENT_NOQUOTES. ΠΠΎΠ½ΡΡΠ°Π½ΡΠ° ENT_COMPAT ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Ρ Π² ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π° ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΠ°ΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ENT_QUOTES Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ, Π° ENT_NOQUOTES ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈ ΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π΄Π°Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ, ΠΊΠ°ΠΊ UTF-8, ISO-8859-1 ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½Π° ΡΡΡΡΠΊΠ°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° Π·Π΄Π΅ΡΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.