Rosetta Code/Fix code tags: Difference between revisions
Content added Content deleted
(Added Wren) |
m (→{{header|Phix}}: syntax coloured) |
||
Line 830: | Line 830: | ||
=={{header|Phix}}== |
=={{header|Phix}}== |
||
{{trans|D}} |
{{trans|D}} |
||
<!--<lang Phix>(phixonline)--> |
|||
<lang Phix>constant ltext = `_div abap actionscript actionscript3 ada apache |
|||
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span> |
|||
⚫ | |||
<span style="color: #008080;">constant</span> <span style="color: #000000;">ltext</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">`_div abap actionscript actionscript3 ada apache |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
langs = split(substitute(ltext,"\n"," ")) |
|||
⚫ | |||
<span style="color: #000000;">langs</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">split</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">substitute</span><span style="color: #0000FF;">(</span><span style="color: #000000;">ltext</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\n"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">" "</span><span style="color: #0000FF;">))</span> |
|||
function fix_tags(string text) |
|||
for i=1 to length(langs) do |
|||
<span style="color: #008080;">function</span> <span style="color: #000000;">fix_tags</span><span style="color: #0000FF;">(</span><span style="color: #004080;">string</span> <span style="color: #000000;">text</span><span style="color: #0000FF;">)</span> |
|||
string lang = langs[i], |
|||
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">langs</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">do</span> |
|||
openl = sprintf("<%s>",{lang}), |
|||
<span style="color: #004080;">string</span> <span style="color: #000000;">lang</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">langs</span><span style="color: #0000FF;">[</span><span style="color: #000000;">i</span><span style="color: #0000FF;">],</span> |
|||
openc = sprintf("<code %s>",{lang}), |
|||
<span style="color: #000000;">openl</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"<%s>"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">lang</span><span style="color: #0000FF;">}),</span> |
|||
lopen = sprintf("<lang %s>",{lang}), |
|||
<span style="color: #000000;">openc</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"<code %s>"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">lang</span><span style="color: #0000FF;">}),</span> |
|||
closl = sprintf("</%s>",{lang}), |
|||
<span style="color: #000000;">lopen</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"<lang %s>"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">lang</span><span style="color: #0000FF;">}),</span> |
|||
closc = sprintf("</%s>",{"code"}), |
|||
<span style="color: #000000;">closl</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"</%s>"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">lang</span><span style="color: #0000FF;">}),</span> |
|||
lclos = sprintf("</%s>",{"lang"}) |
|||
<span style="color: #000000;">closc</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"</%s>"</span><span style="color: #0000FF;">,{</span><span style="color: #008000;">"code"</span><span style="color: #0000FF;">}),</span> |
|||
text = substitute_all(text,{openl,openc,closl,closc}, |
|||
<span style="color: #000000;">lclos</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"</%s>"</span><span style="color: #0000FF;">,{</span><span style="color: #008000;">"lang"</span><span style="color: #0000FF;">})</span> |
|||
{lopen,lopen,lclos,lclos}) |
|||
<span style="color: #000000;">text</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">substitute_all</span><span style="color: #0000FF;">(</span><span style="color: #000000;">text</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">openl</span><span style="color: #0000FF;">,</span><span style="color: #000000;">openc</span><span style="color: #0000FF;">,</span><span style="color: #000000;">closl</span><span style="color: #0000FF;">,</span><span style="color: #000000;">closc</span><span style="color: #0000FF;">},</span> |
|||
end for |
|||
<span style="color: #0000FF;">{</span><span style="color: #000000;">lopen</span><span style="color: #0000FF;">,</span><span style="color: #000000;">lopen</span><span style="color: #0000FF;">,</span><span style="color: #000000;">lclos</span><span style="color: #0000FF;">,</span><span style="color: #000000;">lclos</span><span style="color: #0000FF;">})</span> |
|||
return text |
|||
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span> |
|||
end function |
|||
<span style="color: #008080;">return</span> <span style="color: #000000;">text</span> |
|||
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span> |
|||
constant test = """ |
|||
⚫ | |||
<span style="color: #008080;">constant</span> <span style="color: #000000;">test</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">""" |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
""" |
|||
⚫ | |||
puts(1,fix_tags(test))</lang> |
|||
"""</span> |
|||
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #000000;">fix_tags</span><span style="color: #0000FF;">(</span><span style="color: #000000;">test</span><span style="color: #0000FF;">))</span> |
|||
<!--</lang>--> |
|||
{{out}} |
{{out}} |
||
<pre> |
<pre> |