2015-02-09 2 views
-2

предоставление У меня есть строка2 или более регулярное выражение результат PHP

$string = "{orange,apple}{orange,mango}"; 

как я получаю слово каждого после запятой внутри скобок, которые в этом случае яблоке и манго. после чего поместите его в массив. благодаря

+0

Будет ли когда-либо одна запятая внутри курчавых фигур? – chris85

ответ

0
  1. Побег фигурные скобки
  2. искать что-нибудь между первым фигурной Bace и первой запятой
  3. Поиск по всем между этой запятой и закрывающей фигурными и захватить его.

.

<?php 
$string = "{orange,apple}{orange,mango}"; 
preg_match_all('~\{.*?,(.*?)\}~', $string, $secondwords); 
print_r($secondwords[1]); 
?> 
+0

спасибо за регулярное выражение – MCirca

+0

, но я хочу, чтобы первый результат был индексом 0, второй результат должен быть индексом 1 и т. Д. точно так же, как $ secondwords = array ("orange", "mango"); – MCirca

+0

Вы можете прокручивать массив, вытягивать каждое значение и устанавливать его в другой массив. В настоящее время это многомерный массив, и вы должны иметь возможность использовать все с помощью $ secondwords [1], которые вы могли бы сделать с одним массивом. Если вам нужен один массив, вот код ... 'foreach ($ secondwords [1] as $ words) { \t $ singlearray [] = $ words; } ' – chris85

Смежные вопросы