我有以下代码,它应该将提供的字符串与$ contents匹配。 $ contents变量具有通过file_get_contents()函数存储的网页内容:
if (preg_match('~<p style="margin-top: 40px; " class="head">GENE:<b>(.*?)</b>~iU', $contents, $match)){
$found_match = $match[1];
}
所述网页上的原始字符串如下所示:
<p style="margin-top: 40px; " class="head">GENE:<b>TSPAN6</b>
我想匹配并将网页上的字符串'TSPAN6'通过(。*?)存储到$ match [1]中。但是,匹配似乎不起作用。有什么想法吗?
答案 0 :(得分:1)
不幸的是,你的建议没有用。
经过几个小时的html代码查看后,我意识到正则表达式在冒号后面只有一个空格。因此,代码片段现在看起来像这样:
$pattern = '#GENE: <b>(.*)</b>#i';
preg_match($pattern1, $contents, $match1);
if (isset($match1[1]))
{
$found_flag = $match1[1];
}
答案 1 :(得分:0)
试试这个:
preg_match( '#GENE:<b>([^<]+)</b>si#', $contents, $match );
$found_match = ( isset($match[1]) ? $match[1] : false );