我在<b></b>
Eg中间有文字:
La <b>la</b>: the 1 <br></br>Aventuroj <b>aventuro</b>: adventure 2 <br></br>de <b>de</b>: by, from, of, since 3 <br></br>Mirlando <b>miri</b>: marvel, marvel at, wonder<br/><b>lando</b>: country, land 4 <br></br>by <b>ba</b>: bah, nuts, pooh 5 <br></br>for <b>for</b>: away 6 <br></br>
我想要一个可以剥离文本的正则表达式和字符串中的<b></b>
由于
★✩
答案 0 :(得分:4)
最简单的方法是使用preg_replace()
:
$output = preg_replace('!<b>.*?</b>!s', '', $input);
最后的s
是一面旗帜。请参阅Pattern Modifiers以获取标志列表。
s (PCRE_DOTALL)
如果设置了此修改器,则为点 模式中的元字符匹配 所有字符,包括换行符。 没有它,排除了换行符。 这个修饰符相当于Perl / s修饰符。一个负面的类,如 [^ a]始终匹配换行符 字符,与设置无关 这个修饰语。
一般来说,正则表达式是查询和操作HTML或XML的糟糕工具。 PHP有许多内置的HTML解析器,对于强大的解决方案,你应该使用它们作为一般规则。
答案 1 :(得分:0)
preg_replace("/<b>(.*?)<\/b>/ism","",$str);