我想是能夠在PHP中使用正則表達式可以從以下HTML片段PHP正則表達式幫助
on Red Hot Ruby Jewelry<br>Code: Ruby9<br>
提取 「Ruby9」的值有時「守則」將是字母數字,數字或只是字母。
任何意見將不勝感激 謝謝!
我想是能夠在PHP中使用正則表達式可以從以下HTML片段PHP正則表達式幫助
on Red Hot Ruby Jewelry<br>Code: Ruby9<br>
提取 「Ruby9」的值有時「守則」將是字母數字,數字或只是字母。
任何意見將不勝感激 謝謝!
如果模式總是相同的正則表達式會是這樣:
"<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);
?>
試試這個正則表達式:
$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
}
if (preg_match('/(?<=:).+(?=<)/', $subject, $regs)) {
// ow right! match!
$result = $regs[0];
} else {
// my bad... no match...
}
這適用於什麼我張貼。但是,我將如何適應不同類型的字符串?優惠券代碼:銀色 - 使用您的Gap銀卡或Gap銀卡Visa卡,您可以在整個訂單中免費送貨。在結帳時輸入此代碼即可查看您的儲蓄。 – allan 2010-09-28 03:33:08
基本上需要防止你的代碼從「銀」 – allan 2010-09-28 03:34:59
這個更好的「代碼:([a-zA-Z0-9] +)」後解壓任何東西和任何東西以支持這兩種情況。 – burkestar 2010-09-28 03:36:37