PHP正则表达式看起来过去了<br>标记,该标记可能存在或可能不存在

时间:2019-06-12 21:39:49

标签: php regex regex-group

我正在编写一个通过html查找的正则表达式。有时在句子的中间有一个或两个中断标签。我需要能够抓住所有句子并忽略
标签。

我尝试了很多版本。如您所料,这是一封正在浏览的html电子邮件,如果我扩展组以包含break标签,那么它当然会捕获它们

<div class=&quot;content-spacer&quot;[^>]*>[\r\s]*<p[^>]*>[\r\s]*<strong[^>]*>[^<]*<\/strong>[\r\s]*<\/p>[\r\s]*<p [^>]*>([^<]*)<br> <br> Thanks so much for your time! <br> Tammy <\/p>

我尝试过这种正则表达式的变体。

我正在浏览的html是

<tbody>
 <tr style=&quot;padding:0;vertical-align:top;text-align:left;&quot;> 
 <td style=&quot;word-break:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto;border-collapse:collapse;padding:0;vertical-align:top;text-align:left;color:rgb(102, 102, 102);font-family:Helvetica, Arial, sans-serif;font-weight:normal;margin:0;line-height:28px;font-size:16px;&quot;> 
 <div class=&quot;content-spacer&quot; style=&quot;padding-bottom:20px;&quot;> 
 <p style=&quot;margin:10px 0;color:rgb(102, 102, 102);font-family:Helvetica, Arial, sans-serif;font-weight:normal;padding:0;text-align:left;line-height:28px;font-size:16px;&quot;><strong style=&quot;color:rgb(51, 51, 51);&quot;> Message from Tammy Waring</strong></p> 
 <p style=&quot;margin:10px 0;color:rgb(102, 102, 102);font-family:Helvetica, Arial, sans-serif;font-weight:normal;padding:0;text-align:left;line-height:28px;font-size:16px;&quot;> Hi there! I am looking for renting a cabin and was wondering if this cabin allows outside fires within a fire pit ? <br> <br> Thanks so much for your time! <br> Tammy </p> 
 </div> 

我希望它抓住最后的队伍而忽略br的 我可以抓取所有以Tammy的名字结尾的东西,也可以抓到第一个br标签

1 个答案:

答案 0 :(得分:0)

因为您还使用 strip_tags 函数 may be a good idea 标记了 php,因为很多人喜欢指出 HTML 不能被正则表达式真正解析。