使用克拉^时,preg_match_all不匹配

问题描述

| 我正在使用“ 0”在HTML文件中查找URL。 URL始终显示在行的开头,没有前导空格,如下所示:
<A HREF=\"/link/to/here\"><strong>Next</strong></A>
我用它来匹配它:
preg_match_all(\'|^<A HREF=\"(?<url>.*?)\"><strong>Next</strong>|\',$html,$url_matches);
直到我删除了克拉(^)字符,它才起作用。我以为克拉与生产线的起点匹配。为什么会导致我的比赛失败?     

解决方法

        您必须添加
m
修饰符:
preg_match_all(\'|^<A HREF=\"(?<url>.*?)\"><strong>Next</strong>|m\',$html,$url_matches);
那么
^
在行的开头匹配,否则它将仅在整个字符串的开头匹配。 更多信息:http://php.net/manual/zh/reference.pcre.pattern.modifiers.php     ,        
^
匹配字符串开头而不是行首。使用
m
(\“多行\”)修饰符:
//m
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...