6 февраля 2013
Нет комментариев
preg_match("/^[_a-z0-9]+\.(html|xml)$/i",$str)
preg_match("/^[_a-z0-9]+\.(html|xml)$/i",$str)
RewriteEngine on RewriteBase / #если передано что-то в GET RewriteCond %{QUERY_STRING} ^key=value$ [NC] RewriteRule ^page\.php$ /page/newpage.html$1? [R=301,L] #если нет RewriteRule ^page\.php$ /page$1? [R=301,L]
Нужно было, когда серверное время не правильное, и поменять его нет доступа..
В примере для парсинга используется библиотека simple_html_dom, парсится сайт http://24timezones.com/
Пример для московского времени:
require $_SERVER['DOCUMENT_ROOT'].'/lib/simple_html_dom.php'; $data_msk=file_get_html('http://24timezones.com/ru_vremia/moscow_mestnoe_vremia.php'); if ($data_msk!='') { $time_msk_b=$data_msk->find('#currentTime',0); $time_msk=$time_msk_b->plaintext; if ($time_msk!='') { $time_msk=substr($time_msk,0,strpos($time_msk,',')); $arr_msk_time=explode(':',$time_msk); } $data_msk->clear(); } unset($data_msk); echo $arr_msk_time[0].":".$arr_msk_time[1];
Время для разных городов, парсится сайт http://www.timeanddate.com/worldclock/
$data_all=file_get_html('http://www.timeanddate.com/worldclock/'); if ($data_all!='') { //Kyiv $time_kyiv_b=$data_all->find('#p76',0); $time_kyiv=$time_kyiv_b->plaintext; if ($time_kyiv!='') { $time_kyiv=substr($time_kyiv,strrpos($time_kyiv,' '),strlen($time_kyiv)); $arr_kyiv_time=explode(':',$time_kyiv); } //Moscow $time_msk_b=$data_all->find('#p95',0); $time_msk=$time_msk_b->plaintext; if ($time_msk!='') { $time_msk=substr($time_msk,strrpos($time_msk,' '),strlen($time_msk)); $arr_msk_time=explode(':',$time_msk); } //Brussels $time_brus_b=$data_all->find('#p27',0); $time_brus=$time_brus_b->plaintext; if ($time_brus!='') { $time_brus=substr($time_brus,strrpos($time_brus,' '),strlen($time_brus)); $arr_brus_time=explode(':',$time_brus); } $data_all->clear(); } unset($data_all);
Javascript:
function printBlock() { $("input").each(function(){ $(this).attr("value", $(this).val()); }); $("select").each(function(){ var val=$(this).val(); $("option[value='"+val+"']", this).attr('selected', 'selected'); }); var PrintContent=$('#PrintContent').html(); $('body').addClass('printSelected'); var Logo='<div class="printLogo"><img src="/templates/images/logo.gif" alt=""/></div>'; var Contacts='<div class="printPhone"><b>Адрес</b><br/>Телефон</div><div style="clear:both;"></div>'; $('body').append('<div class="printSelection">'+Logo+Contacts+PrintContent+'</div>'); var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; if (!is_chrome) { window.print(); window.setTimeout(pageCleaner,0); } else { document.onmousemove=window.print(); window.setTimeout(pageCleaner,1000); } return false; } function pageCleaner() { $('body').removeClass('printSelected'); $('.printSelection').remove(); }
CSS:
/*-------------------- PRINTER --------------------*/ .printLogo {float:left;} .printPhone {float:right;margin-right:10px;} .printPhone td{vertical-align:top;padding-right:25px;} .printSelected { background: #ffffff; padding: 10px; } .printSelected div { display:none; } .printSelected div.printSelection { display:block; } .printSelected div.printSelection div { display:block; } .printlink { float:right; } .printlink img{ cursor:pointer; }
HTML :
<div class="printlink" onclick='printBlock();'><img alt="Распечатать" src="/images/print.gif" /></div> <div id="PrintContent"> ... </div>
Для получения содержимого блока с заполненными полями в форме.
$("input").each(function(){ $(this).attr("value", $(this).val()); }); $("select").each(function(){ var val=$(this).val(); $("option[value='"+val+"']", this).attr('selected', 'selected'); }); var Content=$('#Content').html();
Использовалось для печати блока с формой, чтобы поля оставались заполненными: http://krylov.org.ua/?p=756
function GetFirstP($text) { $str=substr($text,strpos($text,'<p>')+3,strpos($text,'<\/p>')-4); return $str; }
Функции для записи, чтения, очистки cookies:
function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function eraseCookie(name) { createCookie(name,"",-1); }
подробнее: http://www.quirksmode.org/js/cookies.html