Это туда подставьте. Знаток.
Я посмотрю вы мастер фразы из контекста выдергивать. Пост перечитайте что ли полностью, пока не дойдет.
Если там буков много, то подставьте в свое решение теги:
<audio>, <abbr>, другие сами найдете.
Повторяетесь. Задачу свою перечитайте тоже, желательно несколько раз. И найдите там про "жадность". Экстрасенсов здесь нет, вам уже говорили.
А никто не просит переписывать. Уже все написано и на блюдечке выложено. Подсказка: ответ внизу поста с решением.
Тыкаешь носом как котенка, а он все равно ссытся по углам.
Вот действительно, либо тролль, либо регулярка головного мозга.
Очень заметно на мобильных. У меня доходило до 2 секунд. Но там целиком сложный список генерировался на клиенте.
miltorg, во вложении [ATTACH]160382[/ATTACH] архив с файлом. Задача ведь была у кого меньше символов и на выходе получить такой же результат?
Ошибся, не 29, а 28 символов по вашим меркам. Хотя почему вы упорно не считаете оператор print, не понимаю.
Чтобы было удобнее, вынес регулярку из файла:
s!<(.+)[^>]*>(.+)</\1>!$2!g; print;
А теперь немного усложним входные данные, добавим строки:
Результат вашего решения. Тег <audio> остался и с 2 последними строками какая-то ерунда. Да да, оказывается существуют другие теги на букву A. 3 ошибки.
Мое решение. Другие теги <a> тоже порезало. Но я и говорил: притянуто за уши. 3:3 по ошибкам, 28 символов против 34, я победил?:)
А вот вполне сносный вариант, но увы, целых 46 символов занимает:
s/<((?!a[\s>])[^\s>]+)[^>]*>(.+?)<\/\1>/$2/gi;
Ну и результат его работы:
Надеюсь в этот раз донес до вас мысль, что смысл то не в том у кого короче, толще, длиннее, быстрее. Главное уметь правильно применить нужный инструмент, в нужном месте.
И правильно поставить задачу, особенно себе, как исполнителю. Вы дали ТЗ, я по нему и сделал, вот только с вашей точки зрения. А получилось...ну что получилось.
Нам тоже скучно решать олимпиадные задачки. Ну раз уж напоминаете и вроде третий раз.
Подсчет символов как и у вас - строка с регуляркой:
Решение конечно же притянуто за уши как и ваши, но выдает нужный результат.
Вот md5 хэш файла с двумя решениями:
Вот результат работы:
Как выложите решение с таким же количеством символов или признаете поражение или по требованию зала, я выложу свое.🍿
Согласен, если заказчик адекватный и по договору нельзя отступать от ТЗ.
И под этим подпишусь. А вот почему.
Были случаи на моей практике, пригласил заказчик специалиста что-то там сделать. Специалист сидит день, сидит второй. Потом зовут меня и я справляюсь за 10 минут. И нет я не супер гений, просто "собаку на этом съел", а тот специалист впервые столкнулся.
Так вот вопрос. Как в этом случае производить оплату, за сделку или по часам? Ведь приди я первым, то с точки зрения заказчика за 10 минут разве что можно успеть в носу поковырять.---------- Добавлено 15.02.2017 в 16:40 ----------Вот вам притча, возможно многие читали, но думаю милторгу будет полезно почитать.
IE 9 и выше, остальные браузеры поддерживают все используемые в этом коде функции. По ссылкам на сайте developer.mozilla.org внизу есть таблица совместимости.
Если все же сомневаетесь, используете jquery версию. Судя по приведенному коду он у вас подключен.
Document.querySelector() - Возвращает первый элемент внутри документа. Вам нужен Document.querySelectorAll()
Для IE 9 и выше
document.querySelectorAll('span.currency').forEach(function(span){ span.innerHTML = currency; });
или на jquery
$('span.currency').each(function(){ this.innerHTML = currency; });
Еще бы порекомендовал, для правильной индексации, значение по умолчанию сразу выводить в span на сервере.
А js поменять на такой:
var currency; switch (ymaps.geolocation.country) { case 'Казахстан': currency = '5000 тенге'; break; case 'Беларусь': currency = '1000 бел. рублей'; break; } if(currency) { document.querySelectorAll('span.currency').forEach(function(span){ span.innerHTML = currency; }); }
Я так понимаю их много, в каждом своя цена? Опишите подробней.
Попробуйте добавить:
А это если WebSocket используются:
http://nginx.org/ru/docs/http/websocket.html