PHP正则表达式帮助

时间:2010-09-28 03:15:11

标签: php regex

我希望能够在PHP中使用正则表达式来提取值 来自以下html代码段的“Ruby9”

on Red Hot Ruby Jewelry<br>Code: Ruby9<br>

有时“代码”将是字母数字,数字或字母。

非常感谢任何建议 谢谢!

3 个答案:

答案 0 :(得分:1)

试试这个正则表达式:

$str = "on Red Hot Ruby Jewelry<br>Code: Ruby9<br>";

$pattern  = "/Code: ([^<]+)/"; // matches anything up to first '<'
if(preg_match($pattern, $str, $matches)) {
    $code = $matches[1]; // matches[0] is full string, matches[1] is parenthesized match
} else {
    // failed to match code
}

答案 1 :(得分:1)

if (preg_match('/(?<=: ).+(?=<)/', $subject, $regs)) {
    // ow right! match!
    $result = $regs[0];
} else {
    // my bad... no match...
}

答案 2 :(得分:0)

如果模式始终相同,则正则表达式将如下所示:

"<br>Code: ([a-zA-Z0-9]+)<br>"

这将捕获任何字母或字母数字或只是数字字符串后面的代码:和之前。请尝试以下方法:

<?php
$subject = "on Red Hot Ruby Jewelry<br>Code: Ruby9<br>";
$pattern = '<br>Code: ([a-zA-Z0-9]+)<br>';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>