• Как проверить строку по маске?

    27cm
    @27cm
    TODO: Написать статус
    Можно конечно как-то наговнокодить, пытаться сгенерировать регулярку, потом ее подставлять, но интересует красивый и быстрый способ

    А можно не наговнокодить, а красиво и быстро сгенерировать регулярку из маски.
    ideone.com/YY4Yhh
    $mask = 'X-XX-XX-XXXXX';
    $test = '7-Ds-re-SD434';
    
    $pattern = preg_replace_callback('/X+/', function ($m) { 
        return '[^-]{' . strlen($m[0]) . '}'; 
    }, preg_quote($mask));
    
    if (preg_match("/^{$pattern}$/", $test)) {
    	echo "Строка '$test' подходит под маску '$mask'"; 
    }


    Но есть вариант и проще:
    ideone.com/GiwMAY
    $mask = 'X-XX-XX-XXXXX';
    $test = '7-Ds-re-SD434';
    
    if (preg_replace('/[^-]/', 'X', $test) == $mask) {
        echo "Строка '$test' подходит под маску '$mask'"; 
    }
    Ответ написан
    Комментировать
  • Почему многие считают PHP языком с плохой архитектурой, да и вообще просто плохим языком?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    По гуглите на тему "троллинг".

    Многие оценивают php с колокольни своего языка, и увидев, что задачи этого самого языка решаются лучше, чем на php - делают вывод, что php - гуано. Например:
    * вот, на nodejs легче делать чаты, посему php - гуано.
    * вот, на QT + C++ легче делать десктопные апликухи, а php c qt - хренов, посему php - ...
    * вот на яве вот, прям правильное ooп, а в php - ...
    * вот демона сделать на php - геморно посему php - ...
    Чаще всего это банальная не компетенция, либо НЕ целевое использование.
    Если вас напрягает такое отношение - спросите, сможет ли человек любым способом сделать сайт-админку с обычным CRUD-ом моделей, например для 10 таблиц за пол часа, на языке, которым он любит обмазываться. Если таки сможет - просто игнорьте его аргументы, если не сможет - поздравляю, вы победитель в споре, но он будет игнорить ваши аргументы))
    Ответ написан
    5 комментариев