从一串可接受的子串中创建数组

时间:2014-02-05 02:21:29

标签: php

我想取一个字符串并将其分解为只有可接受的字符串,例如:

$acceptableChars = array("A", "B", "C", "<3");
$enteredWord = "AC<3"

我希望结果是

$desiredOutcome = array("A","C","<3")

我一直在想的唯一的事情是str_split()但是切入“&lt;”和“3”

真的很感激任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

你只有一个问题。你可能会对2更开心。

$pattern = '/' . implode('|', array_map('preg_quote', $acceptableChars)) . '/';
preg_match_all($pattern, $enteredWord, $matches);
$desiredOutcome = $matches[0];

这将从您的令牌中构建一个正则表达式,找到所有这些正则表达式,并将它们放在$matches中。