如何使用 preg_split() 获取 [item:1] 和 [/item:1] 之间的值
$query= [item:1] my content [/item:1];
这不起作用
$match = preg_split('/[[item:1][\/item:1]]/', $query);
echo $match[0];
输出应该只是“我的内容”。
更新:
$查询 = '
[page:1]你有第一页的内容[/page:1]
[page:2]你有第二页的内容[/page:2]
';
// 解析函数
函数 parse_page($page, $string) {
// 非常重要的删除任何会搞砸解析的东西
$string = str_replace(array("\r", "\n", "\t", "\f"), array('', ''), $string);
// 用页码测试字符串
preg_match('@\[page:'.$page.'\](.*?)\[/page:'.$page.'\]@', $string, $matches);
// 如果匹配成功则返回匹配
如果($匹配){
返回$匹配;
}别的 {
返回假;
}
}
// 如果页面被设置然后尝试获取它
如果(isset($_GET['p'])){
// 将返回的解析值设置为变量
$page_dump = parse_page(($_GET['p']), $query);
// 检查是否匹配成功
如果($page_dump[1]){
回声 $page_dump[1];
}别的 {
回声“0”;
}
}别的 {
// 如果没有指定页面,则解析第 1 页。
$page_dump = parse_page('1', $query);
如果($page_dump[1]){
回声 $page_dump[1];
}别的 {
echo '没有页面 =(';
}
}