PHP.SU
Программирование на PHP, MySQL и другие веб-технологии
|
|
Страниц (10): В начало « ... 2 3 4 5 6 7 8 9 [10]
Найдено сообщений: 139 |
skiphog |
Отправлено: 18 Декабря, 2014 - 09:28:27 • Тема: Сокращение содержимого ссылки • Форум: Вопросы новичков |
Ответов: 2 Просмотров: 185
|
PHP:
скопировать код в буфер обмена
//Какая-то строка $text = 'Форум Веб Мастеров находится по адресу: http://danfa.verylonglonglonglonglonglonglonglonglongurl.ru/ еще какой-то текст'; /** * @param $str string строка, в которой нужно заменить URL * @param $strip int количество символов для обрезания анкора (по умолчанию = 50) * @return string */ function getReplaceUrl($str,$strip = 50) { foreach($arr[0] as $item) { $replace = '<a href="'.$item.'">'.substr($item,0 ,(int )$strip).'...</a>'; } } return $str; } echo getReplaceUrl($text); /* Еще один вариант. Заменить анкор на что-то типа "Смотрите тут" или подобное */ /** * @param $str string строка, в которой нужно заменить URL * @return string */ function getReplUrl($str) { return preg_replace('/http(s)?:\/\/[^\s]+/','<a href="$0">Смотрите тут</a>',$str); } echo getReplUrl($text);
|
skiphog |
Отправлено: 18 Декабря, 2014 - 08:08:54 • Тема: Удаление лишних символов встроке • Форум: Вопросы новичков |
Ответов: 3 Просмотров: 157
|
PHP:
скопировать код в буфер обмена
//какая-то строка $str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'; // Если нужно просто резануть строку,то используйте substr() /* Если хотите резануть строку и при этом оставить ее читабельной, то можно написать свою функцию,которая будет извлекать из входящей строки строку по нужному количеству символов и при этом обрезать ее по последнему пробелу. */ /** * @var $str string входящая строка * @var $strip int количество извлекаемых символов * @return string обрезанная строка */ function getStripped($str,$strip) { if(isset($str{(int )$strip + 1 })) { $str = substr($str,0 ,(int )$strip); } return $str; } echo getStripped($str,30);
|
skiphog |
Отправлено: 17 Декабря, 2014 - 19:57:07 • Тема: checkdate • Форум: Вопросы новичков |
Ответов: 2 Просмотров: 195
|
Функция checkdate ожидает числа,а вы пытаетесь подсунуть ей строку. При чем, даже непонятно какую
Если по быстрому, то решить можно так.
1. Файл, который на стр1
CODE ( htmlphp):
скопировать код в буфер обмена
<?php //создадим массив только для месяцев, т.к. по дням дням и годам можно пробежаться в цикле, не создавая отдельные массивы. 1 =>'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь' ); ?> <!doctype html> <html lang="ru"> <head> <meta charset="utf-8"> <title>Document</title> </head> <body> <p>Дата рождения</p> <form action="dz4.2.php" method="post"> <select name="day"> <!-- Бежим в цикле с 1 по 31 --> <?php for($i = 1;$i <= 31;$i++) {?> <option value="<?=$i;?>"><?=$i;?></option> <?php }?> </select> <select name="moth"> <!-- Бежим в цикле по массиву $moth --> <?php foreach($moth as $key => $value) {?> <option value="<?=$key;?>"><?=$value;?></option> <?php }?> </select> <select name="year"> <!-- Бежим в цикле начиная с текущего года по 1950 --> <?php for($i = date('Y');$i >= 1950;$i--) {?> <option value="<?=$i;?>"><?=$i;?></option> <?php }?> </select> <input type="submit" value="Отправить" /> </form> </body> </html>
И файл обработчик, судя по всему тот, который стр2 (dz4.2.php)
PHP:
скопировать код в буфер обмена
if($_SERVER['REQUEST_METHOD'] == 'POST') { //проверяем, есть ли в массиве POST нужные нам данные if(isset($_POST['day'],$_POST['moth'],$_POST['year'])) { /** * т.к. функция checkdate ожидает только int, * то очищать всякими specialchars`ами данные не нужно. * Просто приводим их к Int и пуляем в фукцию checkdate(месяц,день,год) * И ждем bool false/true */ if(checkdate((int )$_POST['moth'],(int )$_POST['day'],(int )$_POST['year'])) { echo 'Корректная дата'; }else { echo 'Некорректная дата'; } } }
|
|
Страниц (10): В начало « ... 2 3 4 5 6 7 8 9 [10]
Powered by ExBB FM 1.0 RC1. InvisionExBB
|
|