background

edit

by -DePiep (talk) 18:15, 3 April 2020 (UTC) Input string has nested span tags. Current Module:Plain text does not handle these as expected. See Template:Plain text/testcases: output is blank.

In Module:Plain text/sandbox I have simply repeated the stripping line :gsub('<span.->(.-)</span>', '%1'). That works as expected & intended.


Case background: {{Val}} formats compound numbers, and also adds tags like:

{{Val|123.45|7}}123.45±7
<span class="nowrap"><span data-sort-value="7002123450000000000♠"></span>123.45<span style="margin-left:0.3em;margin-right:0.15em;">±</span>7</span>

Nesting the module or template call in-page does not solve it.

I propose to consider implementation of this sandbox trial.

PRoBLEM with sandbox: triple nestings go wrong

Nested spans

edit
Basic test
{{Plain text|1=<span style="background:pink">123.56</span>}}

{{Plain text}}

123.56

{{Plain text/sandbox}}

123.56

nested spans
{{Plain text|1=<span class="nowrap"><span style="background:pink">123.56</span></span>}}

{{Plain text}}


{{Plain text/sandbox}}


Test use Val
{{Plain text|1=<span class="nowrap"><span data-sort-value="7002123560000000000♠"></span>123.56</span>}}

{{Plain text}}


{{Plain text/sandbox}}


Test compound val
{{Plain text|1=<span class="nowrap"><span data-sort-value="7002123450000000000♠"></span>123.45<span style="margin-left:0.3em;margin-right:0.15em;">±</span>7</span>}}

{{Plain text}}


{{Plain text/sandbox}}


Triple nested span
{{Plain text|1=<span class="nowrap"><span style="background:pink"><span data-sort-value="7002123450000000000♠"></span>123.45<span style="margin-left:0.3em;margin-right:0.15em;">±</span>7</span></span>}}

{{Plain text}}

123.45±7

{{Plain text/sandbox}}

123.45±7

Triple nested span2
{{Plain text|1=<span class="nowrap"><span style="background:pink"><span data-sort-value="7002123450000000000"></span>123.45<span style="margin-left:0.3em;margin-right:0.15em;">±</span>7</span></span>}}

{{Plain text}}

123.45±7

{{Plain text/sandbox}}

123.45±7

nowiki removal

edit
nowiki removal
{{Plain text|Hi I am nowiki text}}

{{Plain text}}


{{Plain text/sandbox}}


Other tests

edit
Test having div tag
{{Plain text|1=<div><span class="nowrap"><span data-sort-value="7002123560000000000♠"></span>123.56</span></div>}}

{{Plain text}}

123.56

{{Plain text/sandbox}}

123.56

anther single span
{{Plain text|1=<span class="nowrap">123.56</span>}}

{{Plain text}}

123.56

{{Plain text/sandbox}}

123.56


piped link
{{Plain text|[[Main Page|Wikipedia's Main Page]]}}

{{Plain text}}

Wikipedia's Main Page

{{Plain text/sandbox}}

Wikipedia's Main Page

external link
{{Plain text|[https://en.wiki.x.io External link to wikipedia]}}

{{Plain text}}

External link to wikipedia

{{Plain text/sandbox}}

External link to wikipedia

wikilinks and external links
{{Plain text|[[Main page]] | [[Main Page|Wikipedia's Main Page]] | [https://en.wiki.x.io] | [https://en.wiki.x.io External link to wikipedia]}}

{{Plain text}}

Main page | Wikipedia's Main Page | https://en.wiki.x.io | External link to wikipedia

{{Plain text/sandbox}}

Main page | Wikipedia's Main Page | https://en.wiki.x.io | External link to wikipedia

encode
{{Plain text|'1"2"3'|encode=true}}

{{Plain text}}

'1"2"3'

{{Plain text/sandbox}}

'1"2"3'


underlines
{{Plain text|<u>foo bar</u>}}

{{Plain text}}

foo bar

{{Plain text/sandbox}}

foo bar

subscript
{{Plain text|H<sub>2</sub>O}}

{{Plain text}}

H2O

{{Plain text/sandbox}}

H2O

superscript
{{Plain text|<sup>3</sup>H}}

{{Plain text}}

3H

{{Plain text/sandbox}}

3H

ref tags
{{Plain text|H[1]}}

{{Plain text}}

H

{{Plain text/sandbox}}

H


References

edit
  1. ^ Reference text