Comments 21
В последнем случае вместо инвертирования жадности *? эффективнее использовать инвертированный символьный класс [^<]*. Тогда и модификатор s не потребуется:
$content = preg_replace('#<esi\:remove>[^<]*</esi\:remove>#', '', $content);
0
Пришёл на роботу, прочитал статью, поставил плагин.
И к сожалению, он мне не понравился, так как зачастую «ругается» на вполне адекватные вещи.
Например:
Ругнулся на запятую, мол php до фени ваша запятая и она будет игнорироватся интерпретатором, уберите её.
Так я знаю что она будет игнорироватся, поэтому и оставил её там. Тем более логика класа подразумевает что, возможно, я или другой разработчик дополнит масив, и вот тогда дифф в гите будет красивым и читабельным. Благодаря вот той самой запятой.
P.S. Хотел найти в настройках плагина «отключение» некоторых фич. Не нашёл…
И к сожалению, он мне не понравился, так как зачастую «ругается» на вполне адекватные вещи.
Например:
protected $testArray = [
'testKey' => 'testValue',
]
Ругнулся на запятую, мол php до фени ваша запятая и она будет игнорироватся интерпретатором, уберите её.
Так я знаю что она будет игнорироватся, поэтому и оставил её там. Тем более логика класа подразумевает что, возможно, я или другой разработчик дополнит масив, и вот тогда дифф в гите будет красивым и читабельным. Благодаря вот той самой запятой.
P.S. Хотел найти в настройках плагина «отключение» некоторых фич. Не нашёл…
0
Перемещаете курсор на запятую, нажимаете alt+enter или появившуюся лампочку, выбираете «Inspection options->edit inspection profile setting», убираете ненужную галочку. По крайней мере так в PhpStorm 7
0
Второе — это настроить под себя Code Style инспекции, чтобы сфокусироваться на других сообщениях.
Это как раз о таких вещах: запятые, двойные кавычки, вложенные условия.
Как вариант, Settings -> Editor -> Inspections -> PHP -> Php Inspections (EA Extended): просмотрите всё, что Code Style и настройте под ваши реалии.
0
В Probable Bugs что-нибудь интересное нашли?
0
Спасибо, поставил. Будем пробовать.
А подскажите еще, пожалуйста, где найти настройки плагина?
А подскажите еще, пожалуйста, где найти настройки плагина?
0
Пожалуйста. Настроить можно здесь: Settings -> Editor -> Inspections -> PHP -> Php Inspections (EA Extended)
Посмотрите что из Code Style вам подходит, остальные группы можно не трогать — по ним нареканий ещё не было.
Посмотрите что из Code Style вам подходит, остальные группы можно не трогать — по ним нареканий ещё не было.
0
Когда внезапно начинают пролезать арабские числа, это может быть неприятно. Так что лучше уж [0-9].
0
0 === strpos($method, "get")
иpreg_match('/^get/', $method)
вообще-то не эквиваленты. regex будет работать быстрей на больших строках.
Хотя и эту оптимизацию можно провести через substr.
+1
Официальная документация говорит в пользу моего варианта:
Do not use preg_match() if you only want to check if one string is contained in another string. Use strpos() or strstr() instead as they will be faster.
-1
Вы понимаете разницу между
/get/
и /^get/
? 0
Про большие строки (например блоки XML), там же говорится что preg_match будет быстрее, про эти случаи вы правы.
0
Вот про эти случаи я и говорил. Извините, я хотел обратить внимание на тонкости того, что регулярка привязана к концу строки.
Кстати, я как-то видел, что регулярка с ^ работала быстро, а с $ — медленно (обе на больших строках). Правда, это было в каком-то javascript-движке (вроде, V8, но давно), но тем не менее такое возможно и в php, так что конечно проверять надо.
Кстати, я как-то видел, что регулярка с ^ работала быстро, а с $ — медленно (обе на больших строках). Правда, это было в каком-то javascript-движке (вроде, V8, но давно), но тем не менее такое возможно и в php, так что конечно проверять надо.
0
Sign up to leave a comment.
Статический анализ кода в PHP: регулярные выражения