$str = 'case:s:webima:http://pk.ve.someurl.com:80/demo,on1_hhh_5@s36016,mob:webima:http://pk.ve.someurl.com:80/demo,t_k275292400,pr:webima:http://pk.ve.someurl.com:80/demo,on0_SHM_12@s36018,default:webima:http://pk.ve.someurl.com:80/demo,5554897363a';
preg_match_all('/http:[^,]*,[^,]*/', $str, $matches);
print_r($matches[0]);
http:[^,]*,[^,]*
http:
— ищем шаблон, который бы начинался с «http:».[^,]*
— ищем последовательность символов, в которой отсутствует запятая. Квадратные скобочки — это синтаксис определения возможных символов, из которых может состоять последовательность. Например [abc] — это шаблон одного символа, который совпадает с только с одной из букв «a», «b» или «c». Крышечка «^» — отрицание присутствия перечисленных символов. Звездочка «*» обозначает повторяемость этого символа от 0 до бесконечного числа раз.,
— просто ищем запятую.[^,]*
— см. п. 2. Т.е. в конце должна идти последовательность, которая не содержит запятые.<div class="block">
<div class="block__slide"></div>
<div class="block__modal">Контент-1</div>
</div>
<div class="block">
<div class="block__slide"></div>
<div class="block__modal">Контент-2</div>
</div>
$("body").on('click', '.block__slide', function(){
$(this).parent('.block').find('.block__modal')
.fadeIn("slow")
.css({display: "flex"});
});
SELECT SUM(cnt) FROM (
SELECT COUNT(*) as cnt FROM users_data WHERE private='0'
UNION
SELECT COUNT(*) as cnt FROM deleted WHERE private='0'
UNION
SELECT COUNT(*) as cnt FROM mails WHERE private='0'
) u;
/**
* Случайная выборка с учетом веса каждого элемента.
* @param array $data Массив, в котором ищется случайный элемент
* @param string $column Параметр массива, содержащий «вес» вероятности
* @return int Индекс найденного элемента в массиве $data
*/
function getRandomIndex($data, $column = 'ver') {
$rand = mt_rand(1, array_sum(array_column($data, $column)));
$cur = $prev = 0;
for ($i = 0, $count = count($data); $i < $count; ++$i) {
$prev += $i != 0 ? $data[$i-1][$column] : 0;
$cur += $data[$i][$column];
if ($rand > $prev && $rand <= $cur) {
return $i;
}
}
return -1;
}
// Использование
$games = [
['name' => 'Игра 1', 'ver' => 2], // вероятность 2/15
['name' => 'Игра 2', 'ver' => 0], // вероятность 0/15
['name' => 'Игра 3', 'ver' => 1], // вероятность 1/15
['name' => 'Игра 4', 'ver' => 4], // вероятность 4/15
['name' => 'Игра 5', 'ver' => 8], // вероятность 8/15
];
$i = getRandomIndex($games);
echo $games[$i]['name'];