как мне использовать preg_split (), чтобы получить значение между [item: 1] и [/ item: 1]$query= [item:1] my content [/item:1];
Это не работает$match = preg_split('/[[item:1][\/item:1]]/', $query);
echo $match[0];
вывод должен быть просто "моим контентом".
ОБНОВЛЕНИЕ:
$query = '
[page:1]you got page one content[/page:1]
[page:2]you got page two content[/page:2]
';
// parse function
function parse_page($page, $string) {
// VERY IMPORTANT STRIP OUT ANYTHING THAT WOULD SCREW UP THE PARSE
$string = str_replace(array("\r", "\n", "\t", "\f"), array('', ''), $string);
// test the string with the page number
preg_match('@\[page:'.$page.'\](.*?)\[/page:'.$page.'\]@', $string, $matches);
// return the match if it succeeded
if($matches) {
return $matches;
}else {
return false;
}
}
// if page is set then try and obtain it
if(isset($_GET['p'])) {
// set the returned parse value to a variable
$page_dump = parse_page(($_GET['p']), $query);
// check to see if the match was successful
if($page_dump[1]) {
echo $page_dump[1];
}else {
echo '0';
}
}else {
// parse page 1, if no page specified.
$page_dump = parse_page('1', $query);
if($page_dump[1]) {
echo $page_dump[1];
}else {
echo 'no page =(';
}
}