function getPropertyByPath($object, $path) {
$path = explode('->', $path);
foreach ($path as $step) {
if (is_object($object) && property_exists($object, $step)) {
$object = $object->$step;
} else {
return null;
}
}
return $object;
}
var_dump($object);
$path = 'a->b->c';
var_dump(getPropertyByPath($object, $path));
class stdClass#1 (1) {
public $a =>
class stdClass#2 (1) {
public $b =>
class stdClass#3 (1) {
public $c =>
string(5) "12345"
}
}
}
string(5) "12345"
$omaParse = phpQuery::newDocument($omaURL, 'utf-8');
$omaParse = phpQuery::newDocument('<meta charset="utf-8">' . $omaURL);
<?php
$mail = new PHPMailer;
$mail->setFrom('your@email.ru'); // Email отправителя
// Можно отправить письмо нескольким адресатам за один раз
$recipients = ['first@email.ru', 'second@email.ru', 'third@email.ru'];
foreach ($recipients as $recipient) {
$mail->addAddress($recipient);
//$mail->AddBCC($recipient); // Или можно отправить скрытую копию, чтобы получатели не видели друг друга
}
$mail->Subject = 'Заголовок письма';
$mail->Body = '<b>Здесь текст письма в формате html.<b>';
$mail->isHTML(true); // Формат HTML
$mail->send();
RewriteRule
добавьте строки:RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
$('.zoomer').mousemove(function(e){
var x = e.pageX;
var y = e.pageY;
console.log(x + '/' + y);
});
<?php
$url = [
['url'=>'http://example.com','id'=>1],
['url'=>'https://example.com','id'=>2],
['url'=>'https://url.com','id'=>3],
['url'=>'http://example.com','id'=>4],
['url'=>'http://big.com','id'=>5],
['url'=>'http://big.com','id'=>6],
['url'=>'http://data.com','id'=>7],
['url'=>'https://data.com','id'=>9],
['url'=>'https://shop.com','id'=>10],
['url'=>'https://shops.com','id'=>11],
];
$http_urls = [];
$https_urls = [];
// Отделяем url-ы с https от http
foreach ($url as $item) {
if (preg_match('/^https/i', $item['url'])) {
$https_urls[] = stripProto($item['url']);
} else {
$http_urls[] = stripProto($item['url']);
}
}
// Находим одинаковые адреса в обоих массивах
$urls_itersect = array_intersect($http_urls, $https_urls);
// Оставляем в исходном массиве только url-ы с http, которые содержатся в массиве $urls_itersect
$url = array_filter($url, function($item) use ($urls_itersect) {
if (preg_match('/^http[^s]/i', $item['url']) && in_array(stripProto($item['url']), $urls_itersect)) {
return true;
} else {
return false;
}
});
print_r($url);
// Возвращает url без протокола
function stripProto($url) {
if (preg_match('/^https?(.+)$/i', $url, $m)) {
return $m[1];
}
}
player.on('timeupdate', function() {
var currentTime = Math.round(this.currentTime());
var duration = Math.round(this.duration());
var percent = Math.round(currentTime / duration * 100);
var next_percent = $(this).data('next-percent');
if (!next_percent) {
next_percent = 0;
}
if (percent >= next_percent) {
postVideoStatus(next_percent);
next_percent += 25;
$(this).data('next-percent', next_percent);
}
});
/^<div>[^<>]+<\/div>$/
window.setInterval(function() {
console.log('Hello World');
}, 1000);
content-type
отличается от реальной.<meta charset="utf-8" />
.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />