PHP: Повторюша
Мини-скрипт родился в ответ на настойчивые вопросы ребёнка типа "А тысяча - это много? Покажи!.." и т.п. В первом поле ввода можно задать слово или код спецсимвола HTML для повторения, во втором - количество повторений. После нажатия кнопки "Показать" увидите результат.
Максимальное количество повторений легко изменить значением переменной $maxn
в исходнике. Скрипт должен быть размещён в кодировке Юникод. Вот ссылка на рабочую версию и полный исходник на момент написания.
Файл index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type"> <title>Повторюша (UTF-8)</title> </head> <body> <?php //Настройки: $max = 10000; //максимальное количество $defn = 100; //количество по умолчанию $defc = '♥'; //символы по умолчанию //Код: require_once "functions.php"; $params = array ('c','n','a'); require_once ("params.php"); if (!empty($n) and is_numeric($n)) { if ($n<1) $n=1; else if ($n>$max) $n=$max; } else $n = $defn; $size = strlen($max); if (empty($c)) $c = $defc; echo '<div align="center"> <form name="f1" action="index.php" method="post"> <p>Что повторить: <input type="text" name="c" maxlength="12" size="12" value="'.$c.'"> Сколько раз: <input type="text" name="n" maxlength="'.$size.'" size="'.$size.'" value="'.$n.'"> <input type="submit" name="a" value="Показать"> </p></form> <p><small>символы ',",<,> не работают; но можно вводить специсимволы HTML в виде &spades; или &#9827;</small></p></div>'; if (!empty($a)) { $s = '<p>'; for ($i=0; $i<$n; $i++) $s .= $c.' '; echo $s.'</p>'; } ?> </body></html>
Файл functions.php
<?php function html_special_chars ($string) { //Удалить опасные для PHP символы, кроме & return preg_replace("/\<|\>|\'|\"/","",$string); } function trimall ($string) { //Удалить лишние пробелы и переводы строк return preg_replace("/(^\s*)|(\s*$)/","",preg_replace("/\s+/"," ",trim($string))); } function magic($path) { //Убрать возможные проблемы с кавычками ini_set('magic_quotes_runtime', '0'); ini_set('magic_quotes_sybase', '0'); return (@get_magic_quotes_gpc()=='1'?stripslashes($path):$path); } ?>
Файл params.php
<?php foreach ($params as $num=>$var) { if (!empty($_POST[$var])) $$var = trimall(html_special_chars(magic($_POST[$var]))); else if (!empty($_GET[$var])) $$var = trimall(html_special_chars(magic($_GET[$var]))); else $$var = ''; } ?>
Посмотреть символы Юникода с их HTML-кодами можно, например, здесь.
Увеличить масштаб в любом браузере легче всего комбинацией клавиш Ctrl и "плюс". Символы разделяются пробелами и выводятся просто как один большой абзац. Обычно этот абзац можно выделить в браузере тройным щелчком мыши.
Можно не пользоваться формой а передавать параметры командной строкой (через URL):
a=1
нужно, чтобы сразу увидеть результат, иначе две другие переменные просто передадутся в форму;n=100
задать количество повторений 100;- c
=☯
задать повторяемый символ.
Пример:
http://scripts.kislenko.net/repeater/index.php?a=1&n=100&c=Hello
30.08.2015, 14:50 [7233 просмотра]