0

我有一段文字:

<strong>blalblalba</strong>blasldasdsadasdasd<strong> 3.5m Euros<br>
<span class="style6">SOLD</span></strong>

我想删除<strong> contains $|euros|Euros</strong>

到目前为止,我有:

preg_replace('#<strong>.*?(^<strong>).*?(\$|euros|Euros|EUROS).*?</strong>#is', '', $result);

但它不工作......我也在尝试负锁头(?!)但仍然无法工作......

有什么帮助吗?谢谢

4

2 回答 2

1

假设您希望在欧元之前有两个强项,我认为这可能是您想要的:preg_replace('#^<strong>.*?<strong>.*?(\$[euros|Euros|EUROS]).*?</strong>#is', '', $result);

于 2013-09-16T23:34:38.057 回答
1

你可以试试这个,必须使用 'Dot-All' 修饰符或替换 [\S\s] -

 # <strong>(?:(?!\1)(?:\$|euros|Euros|EUROS)()|(?!<strong>).)+</strong>\1

 <strong>
 (?:
      (?! \1 )
      (?: \$ | euros | Euros | EUROS )
      ( )
   |  
      (?! <strong> )
      . 
 )+
 </strong>
 \1 
于 2013-09-17T00:21:36.063 回答