我有一段文字:
<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);
但是它不起作用......我还试着消极锁定头(?!)但仍然没有工作......
有任何帮助吗?感谢
答案 0 :(得分:1)
假设你在欧元之前预期有两个音符,我认为这可能是你想要的:preg_replace('#^<strong>.*?<strong>.*?(\$[euros|Euros|EUROS]).*?</strong>#is', '', $result);
答案 1 :(得分:1)
你可以尝试这个,必须使用'Dot-All'修饰符或替换[\ S \ s] -
# <strong>(?:(?!\1)(?:\$|euros|Euros|EUROS)()|(?!<strong>).)+</strong>\1
<strong>
(?:
(?! \1 )
(?: \$ | euros | Euros | EUROS )
( )
|
(?! <strong> )
.
)+
</strong>
\1