Add conditional block output for BBCode tag [style]

- Move new line conversion to <br> tags
- Update BBCode help page
This commit is contained in:
Hypolite Petovan 2021-10-17 21:27:05 -04:00
parent 5d0b7fd87b
commit 4bee4818cf
3 changed files with 20 additions and 6 deletions

View file

@ -644,11 +644,17 @@ On Mastodon this field is used for the content warning.
</td>
<td>;-) :-O</td>
</tr>
<tr>
<td>Custom block styles<br>
<br>
[style=text-shadow: 0 0 4px #CC0000;]You can change all the CSS properties of this block.[/style]</td>
<td><div style="text-shadow: 0 0 4px #cc0000;;">You can change all the CSS properties of this block.</div></td>
</tr>
<tr>
<td>Custom inline styles<br>
<br>
[style=text-shadow: 0 0 4px #CC0000;]You can change all the CSS properties of this block.[/style]</td>
<td><span style="text-shadow: 0 0 4px #cc0000;;">You can change all the CSS properties of this block.</span></td>
<td>You can change all <span style="text-shadow: 0 0 4px #cc0000;;">the CSS properties of this inline text.</span></td>
</tr>
<tr>
<td>Custom class block<br>

View file

@ -603,11 +603,17 @@ Dieses Feld wird von Mastodon f&uuml;r die Inhaltswarnung (content warning) verw
</td>
<td>;-) :-O</td>
</tr>
<tr>
<td>Benutzerdefinierte Block-Styles<br>
<br>
[style=text-shadow: 0 0 4px #CC0000;]Du kannst alle CSS-Eigenschaften eines Blocks &auml;ndern-[/style]</td>
<td><div style="text-shadow: 0 0 4px #cc0000;;">Du kannst alle CSS-Eigenschaften eines Blocks &auml;ndern.</div></td>
</tr>
<tr>
<td>Benutzerdefinierte Inline-Styles<br>
<br>
[style=text-shadow: 0 0 4px #CC0000;]Du kannst alle CSS-Eigenschaften eines Blocks &auml;ndern-[/style]</td>
<td><span style="text-shadow: 0 0 4px #cc0000;;">Du kannst alle CSS-Eigenschaften eines Blocks &auml;ndern-</span></td>
<td>Du kannst alle <span style="text-shadow: 0 0 4px #cc0000;;">CSS-Eigenschaften dieses Inline-Textes &auml;ndern-</span></td>
</tr>
<tr>
<td>Benutzerdefinierte CSS Klassen<br>

View file

@ -1560,9 +1560,6 @@ class BBCode
$text = self::convertAttachment($text, $simple_html, $try_oembed, [], $uriid);
}
// Add HTML new lines
$text = str_replace("\n", '<br>', $text);
$nosmile = strpos($text, '[nosmile]') !== false;
$text = str_replace('[nosmile]', '', $text);
@ -1645,11 +1642,16 @@ class BBCode
// Check for list text
$text = str_replace("[*]", "<li>", $text);
// Check for style sheet commands
// Check for block-level custom CSS
$text = preg_replace('#(?<=^|\n)\[style=(.*?)](.*?)\[/style](?:\n|$)#ism', '<div style="$1">$2</div>', $text);
// Check for inline custom CSS
$text = preg_replace("(\[style=(.*?)\](.*?)\[\/style\])ism", '<span style="$1">$2</span>', $text);
// Check for CSS classes
$text = preg_replace("(\[class=(.*?)\](.*?)\[\/class\])ism", '<span class="$1">$2</span>', $text);
// Add HTML new lines
$text = str_replace("\n", '<br>', $text);
// handle nested lists
$endlessloop = 0;