diff --git a/css/base.css b/css/base.css index 0d7adc7..2f29140 100644 --- a/css/base.css +++ b/css/base.css @@ -54,3 +54,22 @@ input[type=radio] { color: black; background: white; } max-height: 100%; max-width: 100%; } + +.spoiler-label:after { content: 'Spoiler'; color: white; background: black; font-style: italic; font-weight: bold; margin: 0 .2em; padding: 0.1em 0.4em; font-size: 80%; vertical-align: 10%; } +.spoiler > input[type="checkbox"] { display: none; } +.spoiler > .hidden { background: rgba(128, 128, 128, .5); } +.spoiler > input[type="checkbox"]:checked + .hidden { + background: unset; +} + +.spoiler-b > .spoiler-label:after { width: 100%; display: block; margin: 0; vertical-align: unset; padding: 1em; box-sizing: border-box; content: 'Spoiler content - click to show/hide'; } + +.spoiler-label:hover:after { background: #444; } +.spoiler-label:hover + input[type="checkbox"]:checked ~ .hidden { background: rgba(128, 128, 128, .5); } + +.spoiler > .hidden > * { + visibility: hidden; +} +.spoiler > input[type="checkbox"]:checked + .hidden > * { + visibility: visible; +} diff --git a/lib/function.php b/lib/function.php index 7646e96..841ee8e 100644 --- a/lib/function.php +++ b/lib/function.php @@ -529,8 +529,10 @@ function doreplace2($msg, $options='0|0'){ $msg=str_replace('[/quote]','
',$msg); $msg=preg_replace("'\[sp=(.*?)\](.*?)\[/sp\]'si", '\\2', $msg); $msg=preg_replace("'\[abbr=(.*?)\](.*?)\[/abbr\]'si", '\\2', $msg); - $msg=str_replace('[spoiler]','
Spoiler:
',$msg); - $msg=str_replace('[/spoiler]','
',$msg); + $msg=str_replace('[spoiler]','',$msg); + $msg=str_replace('[spoileri]','',$msg); $msg=preg_replace("'\[(b|i|u|s)\]'si",'<\\1>',$msg); $msg=preg_replace("'\[/(b|i|u|s)\]'si",'',$msg); $msg=preg_replace("'\[img\](.*?)\[/img\]'si", '', $msg);