php正则表达式 获取开始字符串和结束字符串中的部分内容
来源:互联网 发布:程序流程图软件 编辑:程序博客网 时间:2024/06/11 14:14
在discuz中,回帖表(forum_post)中的message字段中的内容是以如下形式保存的:
$message = "[i=s] \u672c\u5e16\u6700\u540e\u7531 areyouok \u4e8e 2016-3-5 15:12 \u7f16\u8f91 [\/i]\n\n[attach]41[\/attach][attach]10[\/attach]\u592a\u9633\u5149\uff0c\u91d1\u4eae\u4eae\uff0c\u96c4\u9e21\u9ad8\u9ad8\u5531\r\n";
其中[attach]与[\/attach]中间的部分是附件Id,我需要获取出来然后找到具体附件的内容。
这里就需要使用php正则表达式来获取开始字符串与结束字符串之间的内容,放到一个数组中
一些是测试通过的代码:
<?php
//获取开始字符串后的一段字符
$subject = '"./uploads/meinian/96140234039638604.html"\n"./uploads/meinian/json_30_60393801_20140924.txt"';
$pattern = '#"\./uploads/meinian/(.*?)"#i';
$items = preg_match_all($pattern, $subject, $matches);
var_dump($matches);
echo '<hr/>';
//获取开始字符串和结尾字符串之间的部分
$subject = "[i=s] \u672c\u5e16\u6700\u540e\u7531 areyouok \u4e8e 2016-3-5 15:12 \u7f16\u8f91 [\/i]\n\n[attach]41[\/attach][attach]10[\/attach]\u592a\u9633\u5149\uff0c\u91d1\u4eae\u4eae\uff0c\u96c4\u9e21\u9ad8\u9ad8\u5531\r\n";
$pattern = '#\[attach](.*?)\[\\\/attach]#i';
$items = preg_match_all($pattern, $subject, $matches);
$target = preg_replace($pattern,'',$subject);
echo 'target='.$target.'<hr/>';
var_dump($matches);
echo '<hr/>';
?>
- php正则表达式 获取开始字符串和结束字符串中的部分内容
- php中的字符串和正则表达式
- 字符串和正则表达式-php
- 获取网页中匹配代码的正则 (获得字符串中开始和结束字符串中间得值)
- PHP字符串函数和正则表达式
- PHP学习:字符串操作和正则表达式
- PHP学习:字符串操作和正则表达式
- PHP字符串操作和正则表达式
- 字符串中的正则表达式
- 取以某字符开始,以某字符结束的字符串(正则表达式:VB.net)
- 正则表达式和字符串
- 正则表达式获取字符串中的img标签中的url链接
- 正则表达式获取字符串内容
- PHP采集利器:根据开始字符串和结束字符串截取需要的采集内容数据
- PHP 正则表达式查找字符串
- PHP->正则表达式处理字符串
- java正则表达式获取字符串中的所有英文单词或数字
- iPhone开发--正则表达式获取字符串中的内容
- html5简记(新增元素与属性)
- Promise
- 蓝桥杯历届-密码发生器
- Java:按值传递还是按引用传递详细解说
- Mini类木马
- php正则表达式 获取开始字符串和结束字符串中的部分内容
- Javascript--String类型
- 历届试题 兰顿蚂蚁
- 线程 TLS 学习总结
- linux libjpeg对图像进行压缩
- 当你输入一个网址的时候,实际会发生什么?
- WebSocket
- ZOJ 3605 2012浙江省省赛 挺好的动规题
- 散列集Hashset ---猜年龄