Pull to refresh

Comments 14

Приятная статья, спасибо.
Другим промоблогам надо учиться у мейл.ру.

То что это перевод, ничего страшного видимо :)

А разве перевод — это заведомо что-то плохое?

В чем заслуга mail.ru и чему у них учится? Контент не их, они его перевели.
Ну хотя о чем это я, ты ж любитель говна на вентилятор накидать :) Это я про «Другим промоблогам надо учиться»

Дело в том что я стал в последнее время более-менее регулярно почитывать хабр. И обратил внимание, что качество контента ниже плинтуса. Неважно, переводного или оригинального.
И вот на этом фоне данная статья, хоть сама по себе и не представляет из себя ничего выдающегося, но хотя бы не обычный для этого ресурса адЪ. Вот именно этот факт я и захотел отметить. Как раз чтобы немного разбавить репутацию любителя набросить :) Хотя я не любитель. Просто я как тот мальчик из анекдота, пишу только когда суп пересолен.


А если говорить о переводах, то тут просто добавляется ещё один фактор риска — кроме исходно некачественного контента добавляется еще и никакое качество перевода. Но так-то, в самом по себе факте перевода никакого криминала нет.

Не спорю, переводы нужны, тут точно криминала нет
Спасибо, приму на вооружение.
Что касается символов ?: для незахватывающих групп — разве это не усложняет восприятие шаблона? Ну захватится группа, да и ладно. Цель то — улучшить читаемость.
пример про экранирование почему-то не забрали оттуда
до
preg_match('/^https:\/\/example.com\/path/i', $uri);

после
preg_match('#^https://example.com/path#i', $uri);

Спасибо за замечание, в переводе — это было, выпало при публикации. Поправили.

Однако их можно разрешить, используя модификатор J

Этот модификатор появился только в PHP 7.2, а до этого нужно было добавлять (?J) в начало регулярного выражения.


(это предупреждение для тех, кому приходится обеспечивать обратную совместимость с более старыми версиями PHP)

Спасибо, добавил в статью

Тогда вместо
/[a-zA-F0-9]/
пишем:
/[[:xdigit:]]/

Ошибочка: Не /[a-zA-F0-9]/, а /[a-fA-F0-9]/. Ну и сокращения в этом случае не происходит. Даже наоборот — становится длиннее.

Если же поменять ограничитель на “#”, регулярное выражение станет гораздо понятнее, так как в нем не будет экранированных символов:

preg_match('#^https://example.com/path#i', $uri);

Точка — спецсимвол и её нужно заэкранировать. Так что один экранированный символ всё-таки будет.

Спасибо, поправил. И написал автору оригинала, чтобы поправил.

Sign up to leave a comment.