Mad_Man

Mad_Man
Рейтинг
162
Регистрация
10.11.2008
Интересы
Рыбалка
Born USSR
TF-Studio:
Мне это понравилось

Вдвое медленнее официального способа и в 7 раз медленее регулярки. Это не говоря о том, что внутри кромешный ад из лишних вызовов.

siv1987:
По поводу mb_detect_encoding... юзал когда-то такой костыль - preg_match('//u', 'text');

или еще такой /ru/forum/comment/12555453

$string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse mollis elementum tempus. Vivamus bibendum elit nisl, quis tristique arcu volutpat at. Vestibulum bibendum at neque ac semper. Duis sit amet felis pharetra, eleifend felis nec, eleifend nunc. Aliquam erat volutpat. Donec vestibulum augue erat, vel feugiat ligula ultricies ac. Aliquam erat volutpat. Morbi et iaculis neque. Morbi placerat tortor non nunc tempor, eu feugiat risus volutpat. Phasellus interdum dolor sed turpis mollis consectetur. Donec tincidunt lacus magna. Vestibulum semper condimentum lorem, ut porttitor enim blandit nec. Pellentesque non rutrum quam, id pharetra metus. Заблуждение контролирует трансцендентальный язык образов, открывая новые горизонты. Гипотеза контролирует непредвиденный даосизм. Культ джайнизма включает в себя поклонение Махавире и другим тиртханкарам, поэтому заблуждение категорически порождает и обеспечивает закон внешнего мира, не учитывая мнения авторитетов.";

$speedtest = new speedtest(true);

for ($i = 0; $i < 10000; $i++)
{
if (mb_detect_encoding($string, 'UTF-8', true) == 'UTF-8')
{
# it's UTF-8
}
}

$speedtest->end();

debug('Выполнение проверки средствами PHP заняло ' . $speedtest->result() . 's');

Выполнение проверки средствами PHP заняло 0.0581s

$speedtest = new speedtest(true);

for ($i = 0; $i < 10000; $i++)
{
if (preg_match('//u', $string))
{
# it's UTF-8
}
}

$speedtest->end();

debug('Выполнение проверки средствами регулярок заняло ' . $speedtest->result() . 's');

Выполнение проверки средствами регулярок заняло 0.0143s

$speedtest = new speedtest(true);

for ($i = 0; $i < 10000; $i++)
{
if (preg_match("/([\360-\364])([\200-\277])([\200-\277])([\200-\277])/", $string) or
preg_match("/([\340-\357])([\200-\277])([\200-\277])/", $string) or
preg_match("/([\300-\337])([\200-\277])/", $string))
{
# it's UTF-8
}
}

$speedtest->end();

debug('Выполнение проверки средствами аж трёх регулярок заняло ' . $speedtest->result() . 's');

Выполнение проверки средствами аж трёх регулярок заняло 1.0723s

Второй из костылей пока что понравился больше всех по скорости.

Надо будет ещё проверить матчасть по модификатору 'u', но если он не лжёт слишком часто, то будет класс строк с полной поддержкой utf-8.

postavkin:
так правильно?

mysql_* устарел и к использованию не рекомендуется.

Dark_GT:
все неверно, разрешить индексацию нужно вот так:

User-agent: *
Disallow:

либо

User-agent: *
Allow: /


http://help.yandex.ru/webmaster/controlling-robot/robots-txt.xml

Зачем тогда вообще что-то указывать?

LEOnidUKG:
Ну как в чём? Это вам ёмаё не в блокноте программировать! Нифига вы не понимаете в феншуи! 😂

Mad_Man, не в обиду, но такой хренью реально юзаться чисто для себя любимого и не более того. А переписывать название стандартных функций, чисто для того, чтобы выучить другие название, это бредятина. Это кстати касается не только этой поделки, но и большинства фреимворков.

Боги, да юзайте что только в голову взбредёт. Я предлагаю опыт разработки и инструмент для этого. Вопли "только для себя" и "блокнотик" можете разбрасывать в любом треде, полезнее вы от этого не становитесь :​)

TF-Studio:
Смысл этого?
и почему не mb_ ибо utf-8 шалит иногда

mb_* не впёр, предполагается использование строки как и у алиасов в глобальном неймспейсе - с поправкой на размеры в байтах. Если совсем приспичит - появится класс string_utf8:: или валидация на мультибайтовые кодировки. Но на текущий момент функция, предоставляемая языком, предельно медленная и вероятность промаха при определении высока.

За объяснениями к сорцам PHP на гитхабе. В последний раз когда я их видел - mb_detect_encoding там являл собой здоровый костыль на сишке, который к использованию не рекомендую. Если будет годный исходник с быстрым определением кодировки строки - сюда\в ЛС\в скайп ссылку на пасту, посмотрю.

Хотя решать десятилетние проблемы языка мне одному выглядит как-то зловеще, не находите?

postavkin:
$prod = 22;
$query = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);

Если id задаёт не юзверь, то SQL условно безопасен. Вообще говоря любые входные параметры, вне зависимости от их появления, необходимо экранировать.

Для интов рекомендуется принудительное кастование к типу:

$query  = "SELECT * FROM products WHERE id LIKE '%" . (int) $prod . "%'";
umka:
То есть, этот класс выпрямляет людям руки?

Скорее мышление.

LEOnidUKG:
Да да да... Для фейшунистов и остальных любителей "Apple"

Обижаешь линуксоида :О

Есть ещё P2P передача данных в последних версиях мажорных браузеров через WebRTC. Помимо этого только постоянный долбёж, сокеты реализовать на стороне юзверя довольно проблематично.

Amadey_n:
А туда не удается поставить скрипт вида - style="background-image: url(http://мойсайт/thumb.php?f={файл jpg});

Напротив: разрешить исполнение PHP в .css довольно просто.

Всего: 4397