Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: правльно совершаю замену с ereg на preg_match
 
 автор: kery   (05.01.2015 в 20:23)   письмо автору
 
 



1.((!ereg("[.]",$file))
на
((!preg_match("/[.]/",$file))

2.return ereg ("^[A-Za-z0-9_\\-]+$", $name);
на 
return preg_match ("/^[A-Za-z0-9_\\-]+$/", $name);

3.if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)
на
if(preg_match(/'^(.+):([0-9]+)$/', $hosts[$index], $hostinfo)

4.if(ereg("/[$d$q\n\r]/", $field)
на
if(preg_match("/[$d$q\n\r/]/", $field)

5.if ((ereg("[html]",$file))
на
if ((preg_match("/[html]/",$file))

  Ответить  
 
 автор: lightning.say   (09.01.2015 в 12:48)   письмо автору
 
   для: kery   (05.01.2015 в 20:23)
 

>3.if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo) 
>на 
>if(preg_match(/'^(.+):([0-9]+)$/', $hosts[$index], $hostinfo) 


если POSIX функция кончается на i (eregi, ereg_replacei) то надо добавить i в конец регулярного выражения после разделителя

  Ответить  
 
 автор: kery   (11.01.2015 в 08:59)   письмо автору
 
   для: lightning.say   (09.01.2015 в 12:48)
 

Спасибо, должно быть так
>3.if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo) 
>на 
>if(preg_match(/'^(.+):([0-9]+)$/i', $hosts[$index], $hostinfo) 

  Ответить  
 
 автор: Trianon   (11.01.2015 в 15:18)   письмо автору
 
   для: kery   (11.01.2015 в 08:59)
 

Вообще-то букв в шаблоне нет, и с чем увязывать нечувствительность к регистру - неясно.
А вот синтаксическую ошибку /' стоит поправить.
И стоит оптимизировать шаблон, сразу задав детерминированный поиск двоеточия.

В результате - так:
<?
 
if(preg_match('/^([^:]+):([0-9]+)$/'$hosts[$index], $hostinfo

  Ответить  
 
 автор: kery   (16.01.2016 в 22:38)   письмо автору
 
   для: Trianon   (11.01.2015 в 15:18)
 

(ereg("[$d$q\n\r]", $field))

на
(preg_match("/[$d$q\n\r/]/", $field))

не работает выдает ошибку
Warning: preg_match(): Unknown modifier ']'

подскажите как исправить
вот так правильно
if(preg_match("/[$d$q\n\r]/", $field)) 

  Ответить  
 
 автор: Deed   (19.01.2016 в 13:23)   письмо автору
 
   для: kery   (16.01.2016 в 22:38)
 

(preg_match("/[$d$q\n\r\/]/", $field))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования