Не, ну они конечно не тьюринг-полные, но могут пригодиться. Не отслеживал этот чемпионат, всё времени нет, но могу представить себе пару кейсов где они могли бы пригодиться в стратегии.
Впрочем вот.
Жили-были... ну допустим восемь слепо-немых лягушек. И набрели они на чашечные весы. Пусть будут обычные, с двумя чашками. И запрыгнули они на эти весы. Но поскольку они слепые и немые то узнать о том на каких чашках они, сколько где и т.п. - они не могут. Равно как и не могут узнать в какую сторону наклон. Лягушки хотят чтобы весы стояли ровно, а значит надо чтобы половина была с одной стороны, а половина с другой.
Задача - запрограммировать поведение лягушек.
Лягушка не имеет никакой связи с внешним миром и другими лягушками.
Лягушка не имеет статическим методов или переменных, не дергает другие классы и т.п.
"общение" с внешним миром идет через один метод. На вход метода подается две переменные - $равновесие и $изменение. Если $равновесие истинно, то всё хорошо, ничего не делаем, везде лягушек поровну. Если нет, то надо улучшать. $изменение имеет три возможных положения - лучше, безИзменений, хуже.
В ответ этот метод возвращает решение нашей лягушки, которое означает прыгать или не прыгать. Если ответ истина - положение лягушки меняется, если ложно - остается как и было. Лягушка может помнить что с ней было, что она решала и к чему это приводило, но пожалуй это всё что она может.
Простейший случай - возвращать случайное значение, и рано или поздно лягушки "напрыгают" равновесие. Но хочется услышать варианты получше ;)
Просто над vbulletin тоже работали программисты с 30-летним стажем и стоимостью часа в 1 евро. Ну я в их кишках копался лет пять назад, так что может уже по 1,5 евро работают, я не вкурсе :) А так то штуки две баксов на них потратил в свое время :)
echo strip_tags($t,'<a>');
26 символов, и она уязвима как и ваша, например:
$t = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment" onclick="alert();">Еще текст</a>'; echo strip_tags($t,'<a>');
Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.
Не факт.
Вы техзадание для себя четко продумайте.
Если убрать часть явно необязательных требований и не очень налегать на дизайн и т.п. То вы уложитесь в бюджет с нормальной структурой "под вас". А уже потом всякую красоту можно будет "дозаказывать" вы ведь все равно под это планируете ТЗ. Доработка готового часто выходит еще дороже чем с нуля.---------- Добавлено 13.02.2017 в 18:49 ----------
$t = '<p>Параграф.</p><!-- Комментарий --> <a href="#fragment" onclick="alert();">Еще текст</a>';echo strip_tags($t,'<a>');
Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.---------- Добавлено 13.02.2017 в 18:50 ----------
Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.---------- Добавлено 13.02.2017 в 18:52 ----------
Именно поэтому "внезапно" - никто не пользуется "олимпиадным" кодом со счетом символов и не злоупотребляет регулярками. Ибо я вот сейчас решу через какой-то симплХМЛ или еще через что (ну вот возьму и не буду использовать уже готовый и проверенный код фильтрации), и оно будет более читабельно чем ваши регулярки которые вы будете писать дольше чем я.---------- Добавлено 13.02.2017 в 18:53 ----------
Выражение "никто" подразумевает что "пыталось" несколько человек. Что значит слово "сразу" я даже уточнять не буду. А то у вас мозг взорвется :).
Слова про регулярки в сообщении с заданием я выделил жирным и красным специально чтобы их никто не пропустил.
Повторяете кому и что?
Задача исключительной телепатии.
Вы в этой теме раз десять писали что способны работать только если вам ТЗ расшифровать до пошаговой инструкции. Собственно неспособность ставить задачи (что себе что окружающим) да еще и следовать им - налицо.
Клиент разочарован когда решение не удовлетворяет его потребностей. В клиентах, деньгах или "начальник сказал нАдА сайД" - не важно. Если клиент настаивает на ошибочном решении то я ему вежливо на это укажу и уточню что же ему нужно реально. Если не получится - ну и ладно. Значит не мой клиент.
Плохо не использовать регулярки там где они не нужны?
Ну так давайте сразу на ассемблер перейдем. Я из тех же восьмидесятых что и вы, пусть первую программу написал лишь в 9 лет, т.е. в 89-ом, но на ассемблере пописать приходилось. Как думаю и половине стариков на форуме. х86 не вспомню, я его мало использовал лишь микровставки в паскале, а семейство i808/z80/к580 освежить не сложно).
Всё еще не могу понять троль вы или действительно "такой". На своем пути из девяностых в 21-й век разработки видел многих кто не смог осилить современные тенденции, так что допускаю что "такой".
Неа. Если можно подменить hosts то что мешает подсунуть сертификат?
В таком контексте http и https одинаково уязвимы. А если подменить IP например у провайдера или хостера или еще где (8.8.8.8 много кто использует к примеру), то у https еще останется рубеж защиты в виде сертификата (многим поможет, среди опытных - большинству), а http будет подменен.
Не используйте платные сертификаты, и не надо будет думать о продлении) ЛетсЕнкрипт продлевает автоматом. Ну а платные как правило письма счастья шлют.
а, ну да.) Вот за это я и не люблю перл. Слишком много всяких сокращений, что сходу можно и не прочитать особенно если давно не имел с ним дело.
Аккумуляторы и прочее - попахивает старым добрым ассемблером.---------- Добавлено 13.02.2017 в 15:57 ----------
Не только первый, но и последний аналогично. Мало того, он еще имел наглость сделать по этому поводу замечание(!) Aisamiery мол у того "не по ТЗ" и в конце нет пустой строки с протоколом.)))
Регулярками задача не решается поскольку не удовлетворяет требованию "много".
Весь файл в памятьи - признак плохого тона.
Ну и регулярки пусть и незначительно (в пару раз, но в таких задачах это не важно) но жрут больше проц.
Опять таки поддерживаемость регулярок оставляет желать лучшего.
В 2007-ом я писал istio.com на регулярках. Потом в 2014-ом по договоренности с новым владельцем сервиса я делал небольшой рефакторинг, перевел код на yii1, удалил нерабочие сервисы и т.п. Пока сам свои регулярки расшифровал - пару раз психанул. Это помимо того что реально они нужны были в основном только для того функционала который я в текущей версии выкинул. Полгода назад над тем кодом уже другая команда работала, не будем уточнять историю. Я пока вспомнил что там и как когда меня спрашивали - плевался. Минут двадцать ушло разобраться в собственном коде. Вроде и десятилетний код, но я ведь его колупал три года назад. В общем регулярки это мощный инструмент, но по возможности его лучше не использовать (без фанатизма конечно, пару дней назад себе в фреймворке добавлял контрол для выбора иконок fa-* так проще было css одной регуляркой разобрать чем копипастить список иконок по кусочкам. Ну или всякие парсеры лучше делать на регулярках чем на конечных автоматах, но это уже частные случаи).