Php搜索字符串(带通配符)

标签 php wildcard

有没有办法在字符串中加入通配符?我问的原因是因为目前我有一个功能来搜索两个子串之间的子串(即在“我的狗有跳蚤”这句话中抓取“我的”和“有跳蚤”之间的内容,结果是“狗” ).

function get_string_between($string, $start, $end){ 
    $string = " ".$string; 
    $ini = strpos($string,$start); 
    if ($ini == 0) return ""; 
    $ini += strlen($start); 
    $len = strpos($string,$end,$ini) - $ini; 
    return substr($string,$ini,$len); 
} 

我想要做的是让它在字符串中使用通配符进行搜索。所以说我在“我的狗有跳蚤”这句话中搜索“%WILDCARD%”和“有跳蚤”——它仍然会输出“狗”。

我不知道我是否解释得太清楚了,但希望有人能理解我:P。非常感谢您的阅读!

最佳答案

这是正则表达式真正有用的少数情况之一。 :)

if (preg_match('/my (\w+) has/', $str, $matches)) {
    echo $matches[1];
}

请参阅 preg_match 的文档.

关于Php搜索字符串(带通配符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2305362/

相关文章:

php - 通过 Composer 安装软件包后如何启动脚本?

javascript 当你必须使用 jquery ajax 和 php 将 url 作为参数传递给 mysql 时,如何执行此操作并处理返回数据?

java - Oracle 准备语句 - ORA-01821 : date format not recognized

mysql - php 使用通配符构建 mySQL 查询

c - 在 C 中使用通配符查找文件名

PHP - 从选择选项创建/调用 JSON

php - 除非我关闭 mysqli 连接,否则连续查询不会运行

php - 回车在 javascript-php 上下文中的意义是什么?

c++ - Make 无法找到具有通配符模式的目标

ssl - 为帐户提供专用 IP 后文档根目录错误