Регулярное выражение для получения строки перед первой косой чертой - PullRequest
0 голосов
/ 02 февраля 2012

Я пытаюсь получить EUR от EUR / GBP

$s = 'EUR/GBP'
preg_match('//', $s, $matches);
$s = $matches[0];

В настоящее время это ничего не возвращает.

Есть идеи, где я ошибаюсь?

Ответы [ 3 ]

4 голосов
/ 02 февраля 2012

Вы можете использовать 'взорвать' вместо регулярных выражений.

$values = explode('/', 'EUR/GBP');
echo $values['0']; // EUR
4 голосов
/ 02 февраля 2012
  1. Ваша строка не была заключена в кавычки
  2. Ваше регулярное выражение было пустым
  3. Вы не обращались к правильному индексу массива

$s = 'EUR/GBP';
preg_match('/([^\/]+)/', $s, $matches);
$s = $matches[1];

Однако для этой ситуации лучше использовать такую ​​функцию, как explode().

1 голос
/ 02 февраля 2012

Попробуйте это:

$parts = explode('/', $s);

Array
(
    [0] => EUR
    [1] => GBP
)
...