使用通配符解码带有PHP中的一组可用选项的字符串

时间:2016-09-20 15:08:03

标签: php pattern-matching wildcard string-matching

对于一个侧面项目,我想知道以下最佳方法是什么:

我有一个给定的字符串列表,我有一个字符串,其中包含列表中某个单词的随机字符。 作为一项额外的挑战,混洗后的字符串可能包含通配符(' *')。

将字符串解读为可用字词的方法是什么? 我尝试循环遍历它并使用fnmatch(),它与通配符一起使用,但它不适用于加扰字符串。 我遇到了我可以使用的方法count_chars,但我认为这不适用于通配符。 考虑到单词列表非常小,性能不是一个真正的问题,但是,更快的是更好。

修改

这就是我的尝试:

$pattern = 'Pe*r';
$words = ['Apple', 'Pear', 'Banana', 'Peach'];
fnmatch('Pe*r', $words[$1], FNM_CASEFOLD); // returns 1
fnmatch('ea*r', $words[$1], FNM_CASEFOLD); // returns 0

我已经尝试过在这里找到的c​​ount_chars解决方案: compare scrambled words with an unscrambled wordlist php - 但我对如何将其与fnmatch结合以包含通配符选项感到困惑。

提前感谢任何提供的解释或推动正确的方向。

0 个答案:

没有答案