Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: preg_match переменную из строки если в начале строки есть символ или нет ничего
Форумы портала PHP.SU » PHP » Регулярные выражения » preg_match переменную из строки если в начале строки есть символ или нет ничего

Страниц (1): [1]
 

1. Heger - 05 Февраля, 2017 - 03:56:25 - перейти к сообщению
Друзья, помогите разобраться составить выражение.
PHP:
скопировать код в буфер обмена
  1.  
  2. $old_grupps = "22=12646,23=11912,2=12646";
  3. $id_new_gruppu = "2";
  4. if (preg_match("/".$id_new_gruppu."\=/i",$old_grupps)) {
  5.  
  6. }
  7.  

в итоге выбирается 22=12646 и 2=12646, а нужно только 2=12646
Вариант "/\,".$id_new_gruppu."\=/i" не подходит, нужно учесть что перед $id_new_gruppu может ничего не быть, тоесть не пробел, в просто ничего - начало строки
2. Строитель - 05 Февраля, 2017 - 17:30:25 - перейти к сообщению
Heger пишет:
а нужно только 2=12646
PHP:
скопировать код в буфер обмена
  1. $old_grupps = '22=12646,23=11912,2=12646';
  2. $id_new_gruppu = '~,*(\d=\d{5})~';
  3.  
  4. if (preg_match($id_new_gruppu, $old_grupps, $match)) {
  5.     echo $match[1]; // 2=12646
  6. }
3. Heger - 06 Февраля, 2017 - 17:13:22 - перейти к сообщению
Строитель пишет:
Heger пишет:
а нужно только 2=12646
PHP:
скопировать код в буфер обмена
  1. $old_grupps = '22=12646,23=11912,2=12646';
  2. $id_new_gruppu = '~,*(\d=\d{5})~';
  3.  
  4. if (preg_match($id_new_gruppu, $old_grupps, $match)) {
  5.     echo $match[1]; // 2=12646
  6. }


Спасибо, буду пробовать
4. rgl - 03 Августа, 2017 - 16:56:59 - перейти к сообщению

 

Powered by ExBB FM 1.0 RC1