gpt4 book ai didi

php - 匹配带星号的字符串

转载 作者:可可西里 更新时间:2023-11-01 00:17:01 24 4
gpt4 key购买 nike

我想通过星号将一个字符串与另一个字符串匹配。

例子:我有

$var = "*world*";

我想制作一个函数,该函数将返回 true 或 false 以匹配我的字符串。 不区分大小写

example:
match_string("*world*","hello world") // returns true
match_string("world*","hello world") // returns false
match_string("*world","hello world") // returns true
match_string("world*","hello world") // returns false
match_string("*ello*w*","hello world") // returns true
match_string("*w*o*r*l*d*","hello world") // returns true

* 将匹配范围内的任何字符。我尝试使用 preg_match 数小时但没有成功。

最佳答案

function match_string($pattern, $str)
{
$pattern = preg_replace('/([^*])/e', 'preg_quote("$1", "/")', $pattern);
$pattern = str_replace('*', '.*', $pattern);
return (bool) preg_match('/^' . $pattern . '$/i', $str);
}

并在上面的测试用例上运行它:

bool(true)
bool(false)
bool(true)
bool(false)
bool(true)
bool(true)

关于php - 匹配带星号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5622085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com