function find($str) {
$str = str_split($str);
$inc = false; $tempStr = null;
foreach($str as $v) {
if ($v == '}' && !empty($tempStr)) {
$finalArr[] = $tempStr;
$inc = false; $tempStr = null;
}
if ($inc) {
if (is_numeric($v)) {
$tempStr .= $v;
}
else {
$inc = false; $tempStr = null;
}
}
if ($v == '{') {
$inc = true;
}
}
return $finalArr;
}
$str = '{457}7775 {1.000001 } 32 {98} {+3.14} {12637} 98121';
print_r(find($str));
$json = json_decode($items, true);
$i = 0;
foreach ($json as $data) {
$input_data_array[$i]['dow_file'] = $data['meta_data'][1]['value'];
$input_data_array[$i]['obj_name'] = $data['meta_data'][2]['value'];
$input_data_array[$i]['obj_flat'] = $data['meta_data'][3]['value'];
$input_data_array[$i]['obj_kad'] = $data['meta_data'][4]['value'];
/* и так далее.. */
$i++;
}
print_r($input_data_array);
$rand
в $_POST
присвоив это значение кнопке или скрытому полю:$countries = Array(
'1' => 'Россия',
'2' => 'Германия'
);
$capitals = Array(
'1' => 'Москва',
'2' => 'Берлин'
);
$rand = rand(1,2);
if(isset($_POST['rand']) && $_POST['answer'] == $capitals[$_POST['rand']]) {
echo 'Ответ правильный!';
}
<form action="" method="POST">
<p>Назовите столицу <b><?php echo $countries[$rand] ?></b></p>
<input id="answer" name="answer" placeholder="Ответ..."></input>
<button type="submit" id="submit" name="rand" value="<?php echo $rand ?>">Отправить</button>
</form>
const crypto = require('crypto');
var login = 'ejd78356@nbzmr.com';
var pwd = '212121';
var bytes = pwd+login;
const hash = crypto.createHash('sha256').update(bytes).digest('base64')
console.log(hash);
var arr = [ /* массив со строками */
'THREE',
'DIFFERENT',
'LINES'
]
function compare(inStr, cStr) { /* фукнция сравнения двух строк на наличии одинаковых символов */
var result = inStr.split('').filter(function(letter) {
return (cStr.indexOf(letter) > -1);
});
return result;
}
for (i = 0; i < (arr.length-1); i++) { /* перебираем циклом строки из массива */
var result = (i == 0) ? compare(arr[i], arr[i+1]) : compare(result.join(''), arr[i+1]);
}
var finalStr = result.join(''); /* преобразуем полученный массив в строку */
/* если нужно убрать повторяющиеся символы используем нижеприведенный метод для вывода результата
var finalStr = Array.from(new Set(result)).join('');
*/
alert(finalStr);
style
непосредственно из тэга. Описание стилей в данном случае значения не имеет. Варианта три:style
в тэг<div id="menu" style="display: none"></div>
getComputedStyle()
function menuDown() {
menu.style.display = getComputedStyle(menu).display;
if (menu.style.display === 'none') {
.....
function menuDown() {
if (menu.style.display === 'none' || !menu.style.display) {
.....
class Index
{
public function onServerIndex()
{
if ($_SERVER['REQUEST_URI'] == '/')
{
$page = 'index';
}else{
/* убираем не только первый, но и последний слэш */
$page = substr($_SERVER['REQUEST_URI'], 1, -1);
}
if ($page == 'index')
{
include "page/index.php";
}else{
if ($page == 'login')
{
include "auth/login.php";
}else{
exit('Страница 404');
}
}
}
}
...
$database_query = mysqli_query($database_connect, "SELECT * FROM `page_main` WHERE ID = 1");
...
name="nick"
а обработать пытаетесь $nick = $_POST['nicknames'];
file_get_contents
, а полноценные библиотеки. Тот же дефолтный CURL
например. Передавайте полностью HTTP-заголовки, имитируя обычный пользовательский браузер. Учитывая специфику Кинопоиска и то, что его пытаются парсить все кому не лень, такие банальные блокировки юзера как запросы с пустыми заголовками там стоят 100%.Symfony\DomCrawler
на будущее. Подгружайте исходники для парсинга не напрямую через вызов класса new Crawler()
, а уже после вызова методом ->addHtmlContent()
, чтобы избежать проблем с кодировкой:$newUrl = new Crawler();
$newUrl->addHtmlContent(file_get_contents('https://www.kinopoisk.ru/film/' . $value['kinopoisk_id']));
$html = file_get_contents('https://xn--80aaaag4cofadj5cxk.su/'); /* парсим код страницы */
preg_match_all('/<script type="application\/ld\+json">(.*?)<\/script>/is', $html, $result); /* регулярным выражением делаем выборку в массив содержимого тэгов script */
$json = json_decode($result[1][1], true); /* декодируем json строку второго вхождения в массив, где находится нужный е-мейл */
$email = $json['email'];
print_r($email);
$start_time = 1538388000; /* стартовое время отсчтеа 01-10-2018 */
$time = time(); /* текущее время */
$end_time = 1540892639; /* время окончания 30-10-2018 */
$diff_time = ($end_time-$start_time); /* разница времени между 01-10-2018 и 30-10-2018 */
$left_time = ($end_time-$time); /* осталось время до 30-10-2018 */
$left_procent = round((($left_time/$diff_time)*100), 0); /* осталось времени в % между интервалом 01-10-2018 и 30-10-2018 */
echo $left_procent.'%';
$start_time
будет текущее время, то и результат всегда будет 100% $html = file_get_contents('http://randome.pro/sovet.php'); /* получем код страницы в переменную $html */
preg_match('/<span style="font-size: 40px;">(.*?)<\/span>/is', $html, $result); /* получаем содержимое тэга span в массив $result с помощью регулярного выражения */
$str = trim($result[1]); /* присваиваем нужный нам текст переменной $str убирая лишние пробелы функцией trim */
print_r($str); /* выводим наш текст */
$str = "test@mail.ru|15";
$arr = explode("|", $str)
$mail = $arr[0];
$value = $arr[1];
getTimezoneOffset
, которая показывает отклонения в минутах от UTC. Так же можно по геолокации через PHP пробовать определять. Сначала получаем данные пользователя по IP функцией geoip_record_by_name
, затем определяем временную зону через geoip_time_zone_by_country_and_region
и в итоге с помощью DateTime::getOffset
получаем отклонение временной зоны клиента в секундах. Но сразу стоит иметь ввиду, что ни один из способов не даст 100% гарантии достоверности временного пояса клиента.