|
Ok!
|
|
|
Ok!
|
---|---|---|---|---|
166 | <script> document.addEventListener("touchstart", function(e) { console.log(e.defaultPrevented); // will be false e.preventDefault(); // does nothing since the listener is passive console.log(e.defaultPrevented); // still false }, Modernizr.passiveeventlisteners ? {passive: true} : false); </script> | touchstart,passive,js | 100 | Пассивный ивент листнер |
165 | <link rel="canonical" href="<?= substr(strtolower($_SERVER['REQUEST_URI']), 0, strrpos($_SERVER['REQUEST_URI'], '/') + 1) ?>"/> | каноникал, canoncal | 90 | Сделать rel каноникал в php |
164 | for messages_count in range(0, 100): remainder = messages_count % 10 if messages_count == 0: print('У вас нет новых сообщений') elif messages_count == 1 or (remainder == 1 and messages_count > 11): print('У вас ' + str(messages_count) + ' новое сообщение') elif (messages_count >= 2 and messages_count <= 4) or (remainder > 1 and remainder < 5 and messages_count > 20): print('У вас ' + str(messages_count) + ' новых сообщения') else: print('У вас ' + str(messages_count) + ' новых сообщений') | склонения чисел | 120 | Если 2, 3 или 4 – то сообщения, иначе сообщений |
163 | function string_clip($string, $length) { $string = preg_replace( "/ | /", "", strip_tags($string)); $string = explode(" ", $string); $string = array_slice($string, 0, $length); return implode(" ", $string); } | crop string | 1390 | Обрезать текст по числу слов |
162 | li:not(:last-child):not(:first-child) | ни первый ни послеадний, css | 100200 | ни первый ни послеадний из скписка |
161 | function price($path, $part){ $file = fopen($path, "r"); $text = fread($file, filesize($path)); $lines = explode(PHP_EOL, $text); $v = false; $str = "<table>"; foreach ($lines as $i=>$line) { if (strpos($line, $part)) { $v = true; continue; } if(strpos($line, ";") > 2 && $v == true){ $l = explode(";", $line); $str .= "<tr><td>" . $l[0] . "</td><td>" . $l[1] . "</td></tr>"; } if(strpos($line, ";") === false && $v == true){ $str .= "<tr><th colspan='2'>" . $line . "</th></tr>"; } if (strpos(" ".$line, ";;") > 0 && $v == true) { $v = false; break; } } $str .= "</table>"; return $str; } | прайс, price, функция прайс | 10900 | Функция постройки прайса таблицы по текстовой таблице в файле |
160 | Было так $layout->addField('', new sbLayoutDelim()); Нужно для php7 исправить $layout(.*), new sbLayout(.*)((.*))); $l = new sbLayout$2($3); $layout$1, $l); | замена, sbuilder | 1500 | заменить первое на второе при редактировании нотисов php7 в сбилдер |
159 | function lat2cyr($s) { $sb = ""; $i = 0; $lc = false; while ($i < strlen($s)) { $ch = substr($s, $i, 1); $lc = ctype_lower($ch); // true/false $ch = mb_strtoupper($ch); if ($ch == 'J') { // Префиксная нотация вначале $i++; // преходим ко второму символу сочетания $ch = strtoupper(substr($s, $i, 1)); switch ($ch) { case 'O': $sb .= ch('Ё', $lc); break; case 'H': if ($i + 1 < strlen($s) && mb_strtoupper(substr($s, $i + 1, 1) == 'H')){ // проверка на постфикс (вариант JHH) $sb .= ch('Ъ', $lc); $i++; // пропускаем постфикс } else{ $sb .= ch('Ь', $lc); } break; case 'U': $sb .= ch('Ю', $lc); break; case 'A': $sb = ch('Я', $lc); break; default: break; } } else if ($i + 1 < strlen($s) && mb_strtoupper(substr($s, $i + 1, 1)) == 'H') { // Постфиксная нотация, требует информации о двух следующих символах. Для потока придется сделать обертку с очередью из трех символов. switch ($ch) { case 'Z': $sb .= ch('Ж', $lc); break; case 'K': $sb .= ch('Х', $lc); break; case 'C': $sb .= ch('Ч', $lc); break; case 'S': if ($i + 2 < strlen($s) && mb_strtoupper(substr($s, $i + 2, 1)) == 'H') { // проверка на двойной постфикс $sb .= ch('Щ', $lc); $i++; // пропускаем первый постфикс } else { $sb .= ch('Ш', $lc); } break; case 'E': $sb .= ch('Э', $lc); break; case 'I': $sb .= ch('Ы', $lc); break; default: break; } $i++; // пропускаем постфикс } else {// одиночные символы switch ($ch) { case 'A': $sb .= ch('А', $lc); break; case 'B': $sb .= ch('Б', $lc); break; case 'V': $sb .= ch('В', $lc); break; case 'G': $sb .= ch('Г', $lc); break; case 'D': $sb .= ch('Д', $lc); break; case 'E': $sb .= ch('Е', $lc); break; case 'Z': $sb .= ch('З', $lc); break; case 'I': $sb .= ch('И', $lc); break; case 'Y': if (mb_strtoupper(substr($s, $i + 1, 1) === ' ')){ // проверка на пробел после Y $sb .= ch('И', $lc); $i++; // пропускаем постфикс } else{ $sb .= ch('Й', $lc); } break; case 'K': $sb .= ch('К', $lc); break; case 'L': $sb .= ch('Л', $lc); break; case 'M': $sb .= ch('М', $lc); break; case 'N': $sb .= ch('Н', $lc); break; case 'O': $sb .= ch('О', $lc); break; case 'P': $sb .= ch('П', $lc); break; case 'R': $sb .= ch('Р', $lc); break; case 'S': $sb .= ch('С', $lc); break; case 'T': $sb .= ch('Т', $lc); break; case 'U': $sb .= ch('У', $lc); break; case 'F': $sb .= ch('Ф', $lc); break; case 'C': $sb .= ch('Ц', $lc); break; default: $sb .= ch($ch, $lc); } } $i++; // переходим к следующему символу } return (string)$sb; } function cyrlat($ch) { switch ($ch) { case 'А': return "A"; case 'Б': return "B"; case 'В': return "V"; case 'Г': return "G"; case 'Д': return "D"; case 'Е': return "E"; case 'Ё': return "JO"; case 'Ж': return "ZH"; case 'З': return "Z"; case 'И': return "I"; case 'Й': return "Y"; case 'К': return "K"; case 'Л': return "L"; case 'М': return "M"; case 'Н': return "N"; case 'О': return "O"; case 'П': return "P"; case 'Р': return "R"; case 'С': return "S"; case 'Т': return "T"; case 'У': return "U"; case 'Ф': return "F"; case 'Х': return "KH"; case 'Ц': return "C"; case 'Ч': return "CH"; case 'Ш': return "SH"; case 'Щ': return "SHH"; case 'Ъ': return "JHH"; case 'Ы': return "IH"; case 'Ь': return "JH"; case 'Э': return "EH"; case 'Ю': return "JU"; case 'Я': return "JA"; default: return $ch; } } function cyr2lat($s) { $sb = ""; $ch = preg_split('//u', $s, null, PREG_SPLIT_NO_EMPTY); for ($i = 0; $i < count($ch); $i++) { $lc = preg_match('~^p{Lu}~u', $ch[$i]) ? 0 : 1; $v = $ch[$i]; $l = mb_strtoupper($v); $c = cyrlat($l); $lat = ch($c, $lc); $sb .= $lat; } return $sb; } /** * Вспомогательная функция для восстановления регистра */ function ch($ch, $tolower) { return $tolower ? mb_strtolower($ch) : mb_strtoupper($ch); } echo cyr2lat("провинции Арма") . " "; echo lat2cyr("Provinces of Lightness") . " "; | транслит, ретранслит | 100 | Транслит русско-латинский, латинско-русский |
158 | RewriteRule ^receipt/(.+)/$ receipt/full.php?tag=$1 [L] | редирект, строка на папку | 10970 | Перевод в htaccess с get параметра на папку и садресом |
157 | <?$name = substr($arItem['PREVIEW_TEXT'], strpos($arItem['PREVIEW_TEXT'], "<b>") + 3, strpos($arItem['PREVIEW_TEXT'], "</b>") - strpos($arItem['PREVIEW_TEXT'], "<b>") - 3)?> | substr | 10900 | Часть строки между символами <b> и </b> |
156 | basename(__DIR__) | php, родительская папка, parent folder | 120 | одительская папка php текущей директории без начального слеш |
155 | a:focus { outline: 3px solid transparent; color: #0b0c0c; background-color: #ffdd00; box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c; text-decoration: none; } | ссылка, оформление | 120 | Очень смешное оформление ссылок |
154 | AddEventHandler("main", "OnEndBufferContent", "ShowAuthorInsideNews"); function ShowAuthorInsideNews(&$content) { if (CModule::IncludeModule("iblock")) { if (strpos($content, '#YAKUBOV#') !== false) { $content = str_replace('#YAKUBOV#', author(), $content); } } } | функция, текст, инфоблок | 1340 | Обратотка вставки функции автора статьи. Когда в детальный текст инфоблока надо вставить функцию |
153 | print vsprintf("%04d-%02d-%02d", explode('-', '1988-8-1')); выведет 1988-08-01 | печать даты, php | 5900 | Печать даты в php |
152 | $('[name=docviewer]').show(200, function(){$(document).on('click', function(e){ $("#docviewer").hide() })}); | iframe close, закрыть iframe | 10900 | После показа iframe закрыть его по щелчку снаружи |
151 | -webkit-hyphens: auto; hyphens: auto; | css, перенос, hyphens | 123 | Расстановка переносов в блоке css |
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, фраза текста, поиск | 3400 | Возвращает искомое слово из текста плюс 3 слова до и 10 слов после |
149 | <?$APPLICATION->IncludeFile(SITE_DIR."catalog/sidebar_".$arResult['ID'].".php",Array(),Array("MODE"=>"php"));?> | include, bitrix, включаемая область | 120 | Включаемая область |
148 | $arFilter = Array("IBLOCK_ID"=>GOODS, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "=PROPERTY_CML2_ARTIKUL_VALUE"=>$p_title); | bitrix filter value, filter bx, value | 1290 | Свойство элемента в Битрикс фильтре |
147 | $r = str_replace("ʹ", "", transliterator_transliterate('Any-Latin; Latin-ASCII', "Пробежаться на травалотре")); echo $r; | транслитератор, php, translit | 1470 | Транслитератор на php |