假设这是一个小问题,但是在 PHP 中有类似 MySQL 的 LIKE 函数吗?
所以,例如
like('goo*','google.com');//is true
like('*gl*','google.com');//true
like('google.com','google.com')//also true
我知道正则表达式 rullez,但不知道如何解决这个问题
最佳答案
首先,使用strpos
:
like('goo*','google.com'); --> strpos('goo','google.com') === 0
下一个,可以使用strpos
:
like('*gl*','google.com'); --> strpos('gl', 'google.com') !== false;
接下来你可以使用等于:
like('google.com','google.com') --> 'google.com' == 'google.com'
当然,您可以对所有这些都使用正则表达式:
like('goo*','google.com'); --> preg_match('#^goo.*$#','google.com')
like('*gl*','google.com'); --> preg_match('#^.*gl.*$#', 'google.com');
like('google.com','google.com') --> preg_match('#^google\.com$#', 'google.com')
编辑:将您的模式转换为正则表达式,在开头放置一个^
,在末尾放置一个$
,然后替换*
与 .*
和转义 .
s.
关于php - 类似于 MySQL 函数的模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2739489/