在discuz中,回帖表(forum_post)中的message字段中的内容是以如下形式保存的:
$message = "[i=s] u672cu5e16u6700u540eu7531 areyouok u4e8e 2016-3-5 15:12 u7f16u8f91 [/i] [attach]41[/attach][attach]10[/attach]u592au9633u5149uff0cu91d1u4eaeu4eaeuff0cu96c4u9e21u9ad8u9ad8u5531 ";
其中[attach]与[/attach]中间的部分是附件Id,我需要获取出来然后找到具体附件的内容。
这里就需要使用php正则表达式来获取开始字符串与结束字符串之间的内容,放到一个数组中
10分钟内自己学会PHP其中,第1篇为入门篇,主要包括了解PHP、PHP开发环境搭建、PHP开发基础、PHP流程控制语句、函数、字符串操作、正则表达式、PHP数组、PHP与Web页面交互、日期和时间等内容;第2篇为提高篇,主要包括MySQL数据库设计、PHP操作MySQL数据库、Cookie和Session、图形图像处理技术、文件和目录处理技术、面向对象、PDO数据库抽象层、程序调试与错误处理、A
一些是测试通过的代码:
立即学习“PHP免费学习笔记(深入)”;
//获取开始字符串后的一段字符
$subject = '"./uploads/meinian/96140234039638604.html"
"./uploads/meinian/json_30_60393801_20140924.txt"';
$pattern = '#"./uploads/meinian/(.*?)"#i';
$items = preg_match_all($pattern, $subject, $matches);
var_dump($matches);
echo '
';
//获取开始字符串和结尾字符串之间的部分
$subject = "[i=s] u672cu5e16u6700u540eu7531 areyouok u4e8e 2016-3-5 15:12 u7f16u8f91 [/i] [attach]41[/attach][attach]10[/attach]u592au9633u5149uff0cu91d1u4eaeu4eaeuff0cu96c4u9e21u9ad8u9ad8u5531 ";
$pattern = '#[attach](.*?)[\/attach]#i';
$items = preg_match_all($pattern, $subject, $matches);
$target = preg_replace($pattern,'',$subject);
echo 'target='.$target.'
';
var_dump($matches);
echo '
';
?>
以上就介绍了php正则表达式 获取开始字符串和结束字符串中的部分内容,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。










