6 февраля 2013 Нет комментариев
preg_match("/^[_a-z0-9]+\.(html|xml)$/i",$str)
Categories: PHP Tags:
1 февраля 2013 Нет комментариев
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]
Categories: Web Tags:
1 февраля 2013 Нет комментариев

Нужно было, когда серверное время не правильное, и поменять его нет доступа..
В примере для парсинга используется библиотека 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);
Categories: PHP Tags:
1 февраля 2013 Нет комментариев

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>
Categories: Javascript Tags: ,
22 января 2013 Нет комментариев

Для получения содержимого блока с заполненными полями в форме.

$("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

Categories: Javascript Tags: ,
15 января 2013 3 комментария
function GetFirstP($text) {
	$str=substr($text,strpos($text,'<p>')+3,strpos($text,'<\/p>')-4);
	return $str;
}
Categories: PHP Tags:
12 января 2013 Нет комментариев

Функции для записи, чтения, очистки 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

Categories: Javascript Tags: