0

我真的不确定为什么这不起作用,因为我知道它(.*?)应该匹配所有字符。我感觉这可能与 HMTL 中的特殊字符有关?

这是我的代码

preg_match( '/butt_box(.*?)img/',$return_string, $returned_val);

这是我要提取的 HTML(尝试提取 butt_box 和之后的第一个 img 标记之间的内容。

<table class="butt_box">
        <tbody><tr>
          <td style="width:100%;">
            <div class="product_box3_price" style="padding: 15px 0 0 0; text-align:center;"><strong>Price Unavailable</strong><br>
            </div>
          </td>

          <td>
            <div style="padding: 9px 0 6px 0"><a href="http://www.xxxxxx.com.au/index.php?main_page=product_info&amp;products_id=1399"><img src="includes/templates/theme243/buttons/english/button_goto_prod_details.gif" alt="Go To This Product's Detailed Information" title=" Go To This Product's Detailed Information " width="144" height="36"></a><br>
            </div>
          </td>
        </tr>
        </tbody>
</table>
4

1 回答 1

1

您需要使用sPCRE 修饰符来允许点匹配换行符。

preg_match( '/butt_box(.*?)img/s',$return_string, $returned_val);
于 2013-04-16T02:05:01.023 回答