Php 在正则表达式中使用字母h不起作用?

Php 在正则表达式中使用字母h不起作用?,php,regex,preg-match-all,Php,Regex,Preg Match All,我已经做了好几个小时了…任何帮助都将不胜感激 我想在字符串“级别:”和“”之间进行预匹配 除了添加字母h 为什么 <?php include("courses.php"); preg_match_all('/(level:.*?)r>/i', $str, $matches); // this works but picks up <br>, so i wanted to add in the letter h preg_match_all('/(level:.*?)h

我已经做了好几个小时了…任何帮助都将不胜感激

我想在字符串“
级别:
”和“

”之间进行
预匹配

除了添加字母
h

为什么

<?php
include("courses.php");
preg_match_all('/(level:.*?)r>/i', $str, $matches); 
// this works but picks up <br>, so i wanted to add in the letter h

preg_match_all('/(level:.*?)h/i', $str, $matches); 
// i've tried changing it to `hr` but that fails, now, *even only* `h` fails

print_r($matches[1]);
?>

不确定为什么您认为它会失败,但如果您希望字符串介于这两个术语之间:

preg_match_all('/Level:(.*?)<hr>/i', $str, $matches);
// $matches[1] contains the matches

不确定为什么您认为它会失败,但如果您希望字符串介于这两个术语之间:

preg_match_all('/Level:(.*?)<hr>/i', $str, $matches);
// $matches[1] contains the matches

您试图匹配模式的字符串是什么?是否有一些示例字符串?“h”是正则表达式中没有特殊含义的正则字符。你的问题没有道理。@meagar我同意!我必须在这里忽略一些东西。如果你是这样问的,你的正则表达式模式在换行符上是不匹配的。您需要
s
修饰符。您试图匹配模式的字符串是什么?是否有一些示例字符串?“h”是正则表达式中没有特殊含义的正则字符。你的问题没有道理。@meagar我同意!我必须在这里忽略一些东西。如果你是这样问的,你的正则表达式模式在换行符上是不匹配的。您需要
s
修改器。!!一天两次!谢谢Jack@iight对于正则表达式问题,我有一个弱点:)这两个正则表达式似乎与提供的示例不兼容。!!一天两次!谢谢Jack@iight对于正则表达式问题,我有一个弱点:)这两个正则表达式似乎与提供的示例不兼容。
preg_match_all('/Level:(.*?)<hr>/is', $str, $matches);