Удаление из строки не нужного

Статус
В этой теме нельзя размещать новые ответы.

flat73

Постоялец
Регистрация
15 Авг 2008
Сообщения
57
Реакции
2
есть текст
S (+ 4 in stock)
M (+ 2 in stock)
L (+ 3 in stock)

у меня стоит вот такой код который уберает из этой строчки (+ 4 in stock)

preg_match_all('/(\w+) \(\+ \d+ in stock\)/is', $content, $m, PREG_PATTERN_ORDER);

Работает все отлично.
Но когда текст немного меняется:

S (only 4 in stock)
M (+ 2 in stock)
L (only 3 in stock)

То перестает работать, так вот вопрос как сделать так чтобы работало и с + и с only?
 
попробуй так:
preg_match_all('/(\w+) \([\+|only] \d+ in stock\)/is', $content, $m, PREG_PATTERN_ORDER);
 
PHP:
preg_match_all('/(\w+) \(.+\)/is', $content, $m, PREG_PATTERN_ORDER);
Пофигу ведь что в скобках...

Добавлено через 3 минуты
Да и preg_replace можно сразу использовать...
 
есть текст
S (+ 4 in stock)
M (+ 2 in stock)
L (+ 3 in stock)
у меня стоит вот такой код который уберает из этой строчки (+ 4 in stock)
preg_match_all('/(\w+) \(\+ \d+ in stock\)/is', $content, $m, PREG_PATTERN_ORDER);
Работает все отлично.
Но когда текст немного меняется:
S (only 4 in stock)
M (+ 2 in stock)
L (only 3 in stock)
То перестает работать, так вот вопрос как сделать так чтобы работало и с + и с only?
Выбирайте:
PHP:
preg_match_all('/(\w+) \(/is', $content, $m, PREG_PATTERN_ORDER);
preg_match_all('/(\w+) \((?:only|\+) \d+ in stock\)/is', $content, $m, PREG_PATTERN_ORDER);   
$m = preg_replace ('/(\w+) \((?:only|\+) \d+ in stock\)/is', '$1',$content);
$m = preg_replace ('/(\w+) \(.*?\)/is', '$1',$content);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху