У меня есть строк, например: "предоставить потребительский кредит в сумме 12000 рублей" Мне нужно получить в массив значения между выделенными словами, если эти слова (выделенные) заранее известны. При этом нужно чтобы лишние пробелы в начале и конце полученных строк удалялись, а массив имел определенные индексы индесы. Т.е. на выходе я дожен получить следующий массив: PHP: $buf['credit'] // название кредита $buf['sum'] // сумма кредита Может есть функция какая?=)
Frozen спасибо за совет, но я не могу разобраться с маской! =) Во всех примерах, которые я нашел по регулярным выражениям, используется извличение подстрок за счет разделяющих символв а у меня в исходной строке их нет. Использование масок как-то слишком замудрено=) Пожалуйста, подскажите как задать маску=)
PHP: <?php $str = 'У меня есть строк, например: "предоставить потребительский кредит в сумме 12000 рублей" Мне нужно получить в массив значения между выделенными словами, если эти слова (выделенные) заранее известны. При этом нужно чтобы лишние пробелы в начале и конце полученных строк удалялись, а массив имел определенные индексы индесы. Т.е. на выходе я дожен получить следующий массив:'; $pattern = '/предоставить (.+) кредит в сумме (\d+) рублей/iU'; if (preg_match($pattern, $str, $arr)) { echo '<pre>'; print_r($arr); echo '<pre>'; $buf['credit'] = trim($arr[1]); // название кредита $buf['sum'] = $arr[2];// сумма кредита } ?>
Всем привет. У меня возник еще один вопрос по этой теме)) Есть строка PHP: <?php $str= "values (11, 'str1', 5), values(12, 'str2', 1), //\n values(15, 'str3', 7)" Подскажите пожалуйста, как с помощью регулярных выражении получить такой массив: Снова не получается задать правильную маску((. Пытался так PHP: <?php $pattern = "/values(\S*)\((.+)\)(\,*)/iU"; Но получается срока от первой скобки до последней, а мне надо до второй. И с переводом катертки при задании сроки косяк=(.
Sergey89, спасибо работает) А как теперь ее дополнить чтобы оставшиеся группы значении так же извлекались, если можно то в тот же массив?
Sergey89, точно, спасибо) с регулярными выражениями я еще на Вы)) Надо будет их более глубже изучить)