Получить конкретную строку из строки, начиная с шаблона - PullRequest
0 голосов
/ 15 октября 2018

Я получаю строку, подобную этой:

class1 fa-dollar class2 class3

Теперь мне нужно проверить эту строку на наличие строки / слова, содержащего fa-*.Как мне справиться с этим с помощью PHP?

Wordwise как код

if(custom_strpos($myReceivedString, 'fa-')) {
    echo $faStringOnly;
    // output: 'fa-dollar'
}

Заранее спасибо.

1 Ответ

0 голосов
/ 15 октября 2018

Давайте начнем с двух примеров кода:

$example = "class1 fa-dollar class2 class3";
if (preg_match_all('/(fa-\w+)/', $example, $matches)) {
  foreach ($matches[0] as $match) {
    print $match . "\n";
  }
}

$moreThan1 = "class1 fa-dollar class2 fa-other class3";
if (preg_match_all('/(fa-\w+)/', $example, $matches)) {
  foreach ($matches[0] as $match) {
    print $match . "\n";
  }
}

Первый пример - ваш пример.Мы используем preg_match_all, чтобы соответствовать всем экземплярам.В вашем примере есть только один.Соответствие регулярному выражению /fa-\w+/, которое говорит: «это соответствие начинается с fa-, а затем содержит 1 или более символов на основе слов. (Я сделал это предположение на основе fa-dollar, который, как я предполагаю, является классами из Font Awesome.

Найденные соответствия помещаются в $matches, и пример кода показывает, как их можно циклически проходить.

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

...