Змінюй хід війни! Допомагай ЗСУ!
  • Знижка на баннерну рекламу 30%! Банер на всіх сторінках сайту, в мобільній та десктопній версії за 14 тис. грн на місяць. Статистика сайту. Контакт: kharkovforum.com@gmail.com

регулярки соединить в одну

  • Автор теми Автор теми Mafiosi
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 29.07.2007
Повідом.: 326
регулярки соединить в одну

Код:
[PHP]
            //первый

            (preg_match('/^(9ES|9EL|2BM|8FH|8HL)\s?([\d]{3})\s?([\d]{3})\s?-?([\d]{3})$/si', $_REQUEST['number'])){
                $return = preg_replace('/^(9ES|9EL|2BM|8FH|8HL)\s?([\d]{3})\s?([\d]{3})\s?-?([\d]{3})$/si', '$1 $2 $3-$4', $_REQUEST['number']);
               
            }elseif
     
            //второй
            
            (preg_match('/^(30|50|08|87)\s?-?([\d]{6})\s?-?([\d]{2})$/si', $_REQUEST['number'])){
                $return = preg_replace('/^(30|50|08|87)\s?-?([\d]{6})\s?-?([\d]{2})$/si', '$1-$2-$3', $_REQUEST['number']);
                echo "goetza".$return; 
            }elseif

            //третий
        
            (preg_match('/^([\d]{4})[\.]*([\d\w]{2,5})$/si', $_REQUEST['number'])){
                $return = preg_replace('/^([\d]{4})[\.]*([\d\w]{2,5})$/si', '$1.$2', $_REQUEST['number']);
               
            }elseif
           
            //червёртый
            
            (preg_match('/^(D)\s?([\d]{4})$/si', $_REQUEST['number'])){
                $return = preg_replace('/^(D)\s?([\d]{4})$/si', '$1$2', $_REQUEST['number']);
                
            }elseif

вот вторая часть кода в которой подставляется то что нашла регулярка
Код:
foreach($data as $value) { 
                
                if (strpos( $value  , $return ) !== false){ 
                    
                    //вывод результата в виде таблицы 
                    
                    echo "<td style='padding: 6px;'>$data[0]</td><td style='padding: 6px;'>$data[1]</td><td style='padding: 6px;'>$data[2]</td><td style='padding: 6px;'>$data[3]</td><td style='padding: 6px;'>$data[4]</td>"; //если введены данные, выдать найденый результат                          
                }
                
            }

интерерует, можно ли соединить регулярные выражения вместе все (вообще можно, но пока не рассматривал подробно)
меня больше интересует можно ли параметры
Код:
'$1$2' '$1 $2 $3-$4' '$1.$2'
соединить в один(чтобы скрипт при сравнении значений подставлял их к разным шаблонам?)

или если не соединять ничего, то хоть чтобы если не найдено по одному шаблону искало по другому?
 
Останнє редагування:
Говорят, в аду котлы для ****окодеров нагревают на 400 градусов сильнее...
 
ответ на вопрос № 1: можно
ответ на вопрос № 2: можно

не используй такую подсветку кода
 
ну ну....
пусть нагревают, ато на улице холодина такая, хоть отогрется можно будет?
я, ****окодер? а ты? нормальный кодер?



мне подсказали что можно сделать функцией
preg_match('/регулярка/', $str, $matches);
используя $matches, пока не допру как.
Я понимаю что $matches это массив получается, а как вписать несколько вариантов регулярки и привязать их к каждому элементу массива...хз + шаблон для каждого случая...
Примера похожего не найду в инете.
 
Останнє редагування:
Назад
Зверху Знизу