Home  >  Q&A  >  body text

正则表达式 - php 正则怎么匹配非html标签的"<",">"符号

需要把一段文本里的尖括号转义一下,但是部分HTML标签需要留下,例如<br> <p>等,怎么写一个可扩展的正则?例如目前只需要排除<br> <p>, 如果还需要多排除一个HTML标签直接在pattern上多加一组就可以?(文本比较混乱不适于用HTML解析)
网上查到一个 </?[^pP/>]+> 好像不对
或者有相应的函数或方法推荐吗?

阿神阿神2749 days ago518

reply all(3)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 14:57:08

    preg_replace("/<((br|p)\/?)>/i","& l t;$1& g t;",$str);

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 14:57:08

    可以使用php自带的strip_tags函数
    http://php.net/manual/zh/function.strip-tags.php

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 14:57:08

    <(?!br|p).*?>
    可能是这个意思,纯正则比较麻烦,可以写程序处理

    reply
    0
  • Cancelreply