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

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

阅读 6.5k
3 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题