Помогите с регулярным выражением

venom_
На сайте с 21.07.2008
Offline
134
573

Добрый день, уважаемые коллеги!

Прошу вашей помощи.

Имеются 2 префикса на биллинге (+prefix и 35prefix).

Текст сообщения может содержать один из этих префиксов и номер обьявления через пробел (+prefix 123 или 35prefix 123). Необходимо правильно сформулировать регулярное выражение, чтобы оно "убивало" каждый префикс, в зависимости от того какой используется, и пробел, оставляя лишь номер обьявы. В случае, когда идет другой префикс, либо допущена ошибка etc, то текст не трогаем.

Я только начал вникать в эту тему и у меня не совсем выходит с "В случае, когда идет другой префикс, либо допущена ошибка etc, то весь текст не трогаем."

вот мой маленький скриптик для проверки правильности регулярного выражения:

<?

$msg = "36prefix 410"; //неправильное значение для проверки
$regular = '/([+]|\Q35\E)(\Qprefix\E\s)/';
$id_car = (int)preg_replace($regular, '', $msg);
echo "$id_car";
?>

Сейчас он выводит "36", а нужно "36prefix 410".

[Удален]
#1


$src = "+prefix 123";
$clear = preg_replace('#^(?:\+prefix|35prefix)\s+#ism', '', $src);
venom_
На сайте с 21.07.2008
Offline
134
#2
seodude:

$src = "+prefix 123";
$clear = preg_replace('#^(?:\+prefix|35prefix)\s+#ism', '', $src);

Спасибо, но не то что нужно.

С 36prefix 123 по прежнему возвращает 36, а не 36prefix 123...

minor
На сайте с 04.10.2010
Offline
70
#3
Спасибо, но не то что нужно.
С 36prefix 123 по прежнему возвращает 36, а не 36prefix 123...

Не понял. Регулярка автора выше работает как вы описали.

PHP experience 2 year, comprehend seo
venom_
На сайте с 21.07.2008
Offline
134
#4
minor:
Не понял. Регулярка автора выше работает как вы описали.

Нет, вставьте ее сюда и проверьте:

<? 

$msg = "36prefix 410"; //неправильное значение для проверки
$regular = '/([+]|\Q35\E)(\Qprefix\E\s)/';
$id_car = (int)preg_replace($regular, '', $msg);
echo "$id_car";
?>
Qinghua
На сайте с 01.09.2009
Offline
103
#5

Уберите (int) и все будет работать.

venom_
На сайте с 21.07.2008
Offline
134
#6

Всем большое спасибо! Без интеджера заработало!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий