У меня есть одна страница в формате JSON, и я хочу удалить некоторые данные с этой страницы.Мне нужно удалить это "значение": "6fc975cd-bbd4-2daa-fc6b-1e8623f80caf | Антенны и фильтрующие изделия | Фильтрующие изделия"
это мой jsonpage
Это моя функция для preg match
public function getcategories( $page = '' ) {
$results = array();
preg_match_all( '~/\[value\]\s=>\s(.*?)\s*\[~', $page, $matchall );
debug($matchall);die;
if ( !empty( $matchall[1] ) ) {
foreach ( $matchall[1] as $single ) {
if ( strlen( $single ) > 1 ) {
$results[] = $single;
}
}
}
return $results;
}
И я вызываю эту функцию здесь
function checkpage( $page = '' ) {
$vars_all_array = $this->getvarsallfrompage( $page );
$get_api_url = $this->catspostreq($page);
$post_data = $this->makePostData( $vars_all_array, 0, 25 );
$jsonpage = $this->get_page( $get_api_url, array ('data' => $post_data, 'content-type'=> 'application/x-www-form-urlencoded; charset="UTF-8"; application/json' ) );
$json_decoded = json_decode($jsonpage);
$categories = $this->getcategories( $json_decoded );
debug($categories);die;
}
Но что-то не работает хорошо, у меня есть этоошибка:
preg_match_all () ожидает, что параметр 2 будет строкой, задан массив
Может кто-нибудь мне помочь?