Предположим, что мы имеем это регулярное выражение:PHP - preg_match - присвоить произвольное значение для совпавшего элемента
preg_match('/\b(xbox|xbox360|360|pc|ps3|wii)\b/i' , $string, $matches);
сейчас, когда матч регулярного выражения для экс. один из трех методов XBOX (Xbox | xbox360 | 360), то $matches
должен вернуться только XBOX
это возможно продолжает работать в preg_match()
контексте или я должен использовать другой метод?
спасибо заранее.
Редакция:
им на самом деле делает это так:
$x = array('xbox360','xbox','360');
if(preg_match('/\b(xbox360|xbox|360|pc|ps3)\b/i', $s, $m)) {
$t = $m[0];
}
if (in_array($t,$x)) {
$t = 'XBOX';
}
я задаюсь вопросом, если есть другой путь!
TNX у очень много, ваши регулярные выражения скалы! ;) можете ли вы объяснить часть (? P xbox | xbox360 | 360)? –
tnx много, я сделаю! ;) Мне понравилось использование isset() вместо in_array(). –
ах, и еще что-то ... ваше первое добавление '/ \ b ((? P xbox | xbox360 | 360) | pc | ps3 | wii) \ b/i' - это тот, который задает вопрос (для людей, которые могут иметь одинаковые потребности)! –