(☞ຈل͜ຈ)☞ Главная  Статьи  Загрузчик Домой

Ok!
Ok!
1
function rus2translit($string) {
$converter = array(
		'а' => 'a',   'б' => 'b',   'в' => 'v',
		'г' => 'g',   'д' => 'd',   'е' => 'e',
		'ё' => 'e',   'ж' => 'zh',  'з' => 'z',
		'и' => 'i',   'й' => 'y',   'к' => 'k',
		'л' => 'l',   'м' => 'm',   'н' => 'n',
		'о' => 'o',   'п' => 'p',   'р' => 'r',
		'с' => 's',   'т' => 't',   'у' => 'u',
		'ф' => 'f',   'х' => 'h',   'ц' => 'c',
		'ч' => 'ch',  'ш' => 'sh',  'щ' => 'sch',
		'ь' => 'j',   'ы' => 'y',   'ъ' => 'j',
		'э' => 'e',   'ю' => 'yu',  'я' => 'ya',

		'А' => 'A',   'Б' => 'B',   'В' => 'V',
		'Г' => 'G',   'Д' => 'D',   'Е' => 'E',
		'Ё' => 'E',   'Ж' => 'Zh',  'З' => 'Z',
		'И' => 'I',   'Й' => 'Y',   'К' => 'K',
		'Л' => 'L',   'М' => 'M',   'Н' => 'N',
		'О' => 'O',   'П' => 'P',   'Р' => 'R',
		'С' => 'S',   'Т' => 'T',   'У' => 'U',
		'Ф' => 'F',   'Х' => 'H',   'Ц' => 'C',
		'Ч' => 'Ch',  'Ш' => 'Sh',  'Щ' => 'Sch',
		'Ь' => 'j',   'Ы' => 'Y',   'Ъ' => 'j',
		'Э' => 'E',   'Ю' => 'Yu',  'Я' => 'Ya',
		' ' => '_',   '№' => 'No'
	);
        return strtr($string, $converter);
}
function str2url($str) {
$str = rus2translit($str);
$str = strtolower($str);
$str = preg_replace('~[^-a-z0-9_]+~u', '-', $str);
$str = trim($str, "-");
return $str;
}
translit, транслит, php0Транслит
23
$mySignatureValue = md5("$nOutSum:$nInvId:$mrh_pass1:shpdate=$shpdate:shpphone=$shpphone:shppin=$shppin:shptime=$shptime");
signature value, robokassa0Строка signature value для платежей через Робокассу
24
$rs_Section = CIBlockSection::GetList(
	array('DEPTH_LEVEL' => 'desc'),
	$ar_Filter,
	false,
	array('ID', 'NAME', 'IBLOCK_SECTION_ID', 'DEPTH_LEVEL', 'SORT')
);
$ar_SectionList = array();
$ar_DepthLavel = array();
while($ar_Section = $rs_Section->GetNext(true, false))
{
	$ar_SectionList[$ar_Section['ID']] = $ar_Section;
	$ar_DepthLavel[] = $ar_Section['DEPTH_LEVEL'];
}

$ar_DepthLavelResult = array_unique($ar_DepthLavel);
rsort($ar_DepthLavelResult);

$i_MaxDepthLevel = $ar_DepthLavelResult[0];

for( $i = $i_MaxDepthLevel; $i > 1; $i-- )
{
	foreach ( $ar_SectionList as $i_SectionID => $ar_Value )
	{
		if( $ar_Value['DEPTH_LEVEL'] == $i )
		{
			$ar_SectionList[$ar_Value['IBLOCK_SECTION_ID']]['SUB_SECTION'][] = $ar_Value;
			unset( $ar_SectionList[$i_SectionID] );
		}
	}
}

function __sectionSort($a, $b)
{
	if ($a['SORT'] == $b['SORT']) {
		return 0;
	}
	return ($a['SORT'] < $b['SORT']) ? -1 : 1;
}

usort($ar_SectionList, "__sectionSort");
битрикс, массив, перебор0Перебор массива Битрикс в виде дерева
29
@media all and (min-width: 1001px) {
  #sidebar ul li a:after {
    content: " (" attr(data-email) ")";
    font-size: 11px;
    font-style: italic;
    color: #666;
  }
}
media, content0Текст тега из атрибуте data-*
32
function find_closed() {
    var tr = $('tr');
    if($('#searchfield').val() != "") {
        for (var i = 0; i < tr.length; i++) {
            if (tr.eq(i).text().toLowerCase().indexOf($('#searchfield').val().toLowerCase()) > -1) {
                tr.eq(i).addClass('opened');
                /*tr.eq(i).css({'background': '#A8E9FF'});*/
                var found = 1;
            }else{
				tr.eq(i).removeClass('opened');
			}
            
        }
		if (found < 1) {
                $('.not-found').text('Не найдено')
            }
    }
}
javascript, поиск в таблице0JS функция ищет соответствие в словах скрытых строк таблицы. Если найдет — открывает строку, нет — закрывает
47
&#39; for '
&#34; for "
замена кавычек, кавычки, quotes0Замена для кавычек в php
49
$fp = fopen('tovary.xml',"r");
$arr = file_get_contents('tovary.xml');
$gruops = [];
fclose($fp);
#[2] => Окрашивание волос
#[33] => Перманентная краска
$details['category'] = "Перманентная краска";
$s = new SimpleXMLElement($arr);
$groups = [];
foreach($s->Классификатор->Группы->Группа as $g) {
	$naim     = $g->Наименование;
	$tid      = $g->Ид;
	$groups[] = [ $tid[0] . "", $naim[0] . "" ];
	foreach ( $g->Группы->Группа as $gr_parent ) {
		$naim     = $gr_parent->Наименование;
		$tid      = $gr_parent->Ид;
		$groups[] = [ $tid[0] . "", $naim[0] . "" ];
	}
}
foreach($groups as $gr){
	if($gr[1] == $details['category']){
		echo $gr[0];
	}
}
битрикс, парсинг, xml, товары, каталог0Парсить группы (категории) товаров в xml экспорте товаров Битрикс
86
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
https, www0Любой редирект на https + www
103
$data = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $data);
var_dump(unserialize($data));
replace, serialized0recalculating the length of the elements in serialized array
104
width: expression(((document.documentElement.clientWidth || document.body.clientWidth) < 1050)? "1050px" : "100%");
expression, css0Применение expression в css
123
RewriteCond %{THE_REQUEST} ^GET./index.php [NC]
RewriteRule (.*?)index.php/*(.*) /$1$2 [R=301,NE,L]
0Если Битрикс сам не переводит с index.php на слеш, то пишут 2 такие строки. Но файл переиндексации ...reindex.php туда же попадает и выдает ошибку. Чтоб не выдавал, ставим GET./ (слеш, а не звездочку)
150
function find_wrap($string, $search){
    $out = "";
    $pos = 0;
    if(strpos(" " . $string, $search) > 0){
        $in = str_replace($search, "<b>".$search."</b>", strip_tags($string));
        $wordToFind = $search;
        $numWordsBefore = 3;
        $numWordsAfter = 10;


        $words = preg_split('/s+/', $in);
        $found_words    =   preg_grep("/^".$wordToFind.".*/", $words);
        $found_pos      =   array_keys($found_words);
        if(count($found_pos))
        {
            $pos = $found_pos[0];
        }
        if (isset($pos)) {
            $start = ($pos - $numWordsBefore > 0) ? $pos - $numWordsBefore : 0;
            $length = (($pos + ($numWordsAfter + 1) < count($words)) ? $pos + ($numWordsAfter + 1) : count($words) - 1) - $start;
            $slice = array_slice($words, $start, $length);
            $pre_start  =   ($start > 0) ? "...":"";
            $post_end   =   ($pos + ($numWordsAfter + 1) < count($words)) ? "...":"";
            $out = $pre_start.implode(' ', $slice).$post_end;
        }
    }
    return $out;
}
wrap, фраза текста, поиск0Возвращает искомое слово из текста плюс 3 слова до и 10 слов после
4
Character	Meaning	Example
.	Matches any single character	– c.t will match cat, cot, cut, etc.
+	Repeats the previous match one or more times – a+ matches a, aa, aaa, etc
*	Repeats the previous match zero or more times. – a* matches all the same things a+ matches, but will also match an empty string.
?	Makes the match optional.	colou?r will match color and colour.
^	Called an anchor, matches the beginning of the string	^a matches a string that begins with a
$	The other anchor, this matches the end of the string.	a$ matches a string that ends with a.
( )	Groups several characters into a single unit, and captures a match for use in a backreference.	(ab)+ matches ababab - that is, the + applies to the group. For more on backreferences see below.
[ ]	A character class - matches one of the characters	c[uoa]t matches cut, cot or cat.
[^ ]	Negative character class - matches any character not specified	c[^/]t matches cat or c=t but not c/t
регулярные выражения, regexp10Значения символов регулярного выражения
20
:root {
  font-size: calc(1vw + 1vh + .5vmin);
}

Now you can utilize the root em unit based on the value calculated by :root:


body {
  font: 1rem/1.6 sans-serif;
}
css, шрифт, адаптивно20Установка размера шрифта в CSS адаптивно изменяющегося к любой ширине экрана
9
CModule::IncludeModule("iblock");
            $res = CIBlockElement::GetByID(273);
            if($obRes = $res->GetNextElement())
            {
                $ar_mir = $obRes->GetProperty("href_mir");
                $ar_gil = $obRes->GetProperty('href_gil');
                echo $ar_mir['VALUE']['TEXT'];
                echo $ar_gil['VALUE']['TEXT'];
            }
битрикс, свойство блока, свойство инфоблока, свойство, инфоблок29Получить свойство инфоблока по ID элемента
5
function cmp($a,$b){
            return strtotime($a['PROPERTY_DATER_VALUE'])<strtotime($b['PROPERTY_DATER_VALUE']);
        }
usort($item_happ,"cmp");
функция, сравнение дат, даты, php30Пример функции сравнения в php
6
foreach($quest['METRO'] as $n => $station)
                            echo ($n > 0 ? ', ' : '').$station['VALUE_ENUM'];
через запятую, массив, элементы40Э­лементы массива, выводимые через запятую. Очень элегантное решение
28
function mail_utf8($to, $from_user, $from_email,
                   $subject = '(No subject)', $message = '')
{
    $from_user = "=?UTF-8?B?".base64_encode($from_user)."?=";
    $subject = "=?UTF-8?B?".base64_encode($subject)."?=";

    $headers = "From: $from_user <$from_email>
".
        "MIME-Version: 1.0" . "
" .
        "Content-type: text/plain; charset=UTF-8" . "
";

    return mail($to, $subject, $message, $headers);
}
utf-8, mail, php90Функция mail utf-8
56
time = new Date().getHours() + ":"  + new Date().getMinutes()
время, яваскрипт, время сейчас, js, time now, time90Время сейчас — часы : минуты
68
<img src="fake.jpg" data-src="real.jpg"/>
<script>
function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i=0; i<imgDefer.length; i++) {
if(imgDefer[i].getAttribute('data-src')) {
imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>
defer, images90Отложенная загрузка изображений после загрузки страницы
1 2 3 4 5 6 7 8 9 10 11