欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 如何写个正则取出 [attach]1[/attach]里的东西

程序员文章站 2022-06-05 09:27:02
...
内容[attach]1[/attach]大帅府[attach]2[/attach] 你的那份

怎么得到[attach][/attach]之间的内容1和2.的数组

回复讨论(解决方案)

preg_match_all('/[attach](.*?)[/attach]/i', '[attach]1[/attach]大帅府[attach]2[/attach] 你的那份', $out);print_r($out);


没测试!

/[attach](.*?)[\/attach]/i
刚忘写转义了

貌似不对啊大哥,哈有怎么输出结果啊

想输出为
1
2

preg_match_all('/\[attach\](.*?)\[\/attach\]/i', '[attach]1[/attach]大帅府[attach]2[/attach] 你的那份', $out);print_r($out);


逼我给你测试!

上面截图的数组都出来了 剩下的自己会搞了吧

$str = "内容[attach]1[/attach]大帅府[attach]2[/attach] 你的那份";preg_match_all('/\[attach](.*?)\[\/attach]/i',$str,$ret);print_r($ret[1]);

输出:
Array ( [0] => 1 [1] => 2 )

可以参考:http://clqwtt.blog.163.com/blog/static/22351105520139155735792/

也可以用php simple_html_dom实现,参考:http://clqwtt.blog.163.com/blog/static/223511055201391694845458/

preg_match_all('/\[attach]([^\[]*)\[\/attach]/isU',$str,$ret);