mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-16 02:38:54 +00:00
Fixed TextFormat::toJSON() on nested formatting
This commit is contained in:
parent
e2f7cf61e3
commit
b506ab349f
@ -91,8 +91,17 @@ class TextFormat{
|
|||||||
$underlined = false;
|
$underlined = false;
|
||||||
$strikethrough = false;
|
$strikethrough = false;
|
||||||
$obfuscated = false;
|
$obfuscated = false;
|
||||||
|
$index = 0;
|
||||||
|
|
||||||
foreach($string as $token){
|
foreach($string as $token){
|
||||||
|
if(isset($pointer["text"])){
|
||||||
|
if(!isset($newString["extra"])){
|
||||||
|
$newString["extra"] = [];
|
||||||
|
}
|
||||||
|
$newString["extra"][$index] = [];
|
||||||
|
$pointer =& $newString["extra"][$index];
|
||||||
|
++$index;
|
||||||
|
}
|
||||||
switch($token){
|
switch($token){
|
||||||
case TextFormat::BOLD:
|
case TextFormat::BOLD:
|
||||||
if($bold === false){
|
if($bold === false){
|
||||||
@ -218,12 +227,18 @@ class TextFormat{
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$pointer["text"] = $token;
|
$pointer["text"] = $token;
|
||||||
$pointer["extra"] = [];
|
|
||||||
$pointer =& $pointer["extra"];
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isset($newString["extra"])){
|
||||||
|
foreach($newString["extra"] as $k => $d){
|
||||||
|
if(!isset($d["text"])){
|
||||||
|
unset($newString["extra"][$k]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return json_encode($newString, JSON_UNESCAPED_SLASHES);
|
return json_encode($newString, JSON_UNESCAPED_SLASHES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user