我希望能够在PHP中使用正则表达式来提取值 来自以下html代码段的“Ruby9”
on Red Hot Ruby Jewelry<br>Code: Ruby9<br>
有时“代码”将是字母数字,数字或字母。
非常感谢任何建议 谢谢!
答案 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);
?>