所以我正在嘗試制作一個 HTML 彩虹聊天腳本,在其中我要求用戶使用 read-host 輸入,然后它接受該輸入(例如“測驗人員將測驗”),然后它接受每個字母并在它之前和之后添加一些東西我可以有類似的東西
[HTMLCODE]T</>[HTMLCODE]e</>[HTMLCODE]s</>[HTMLCODE]t</>
如果用戶輸入Test^
到目前為止,我有最糟糕的腳本,只允許 50 個字符,你必須使用 50 個字符:
$FinalString = $rainbow.ToCharArray()
$Final = $r $FinalString[0] $y $FinalString[1] $g $FinalString[2] $b $FinalString[3] $p $FinalString[4] $r $FinalString[5] $r $FinalString[7] $y $FinalString[8] $g $FinalString[9] $b $FinalString[10] $p $FinalString[11] $r $FinalString[12] $r $FinalString[13] $y $FinalString[14] $g $FinalString[15] $b $FinalString[16] $p $FinalString[17] $r $FinalString[18] $r $FinalString[19] $y $FinalString[20] $g $FinalString[21] $b $FinalString[22] $p $FinalString[23] $r $FinalString[24] $r $FinalString[25] $y $FinalString[26] $g $FinalString[27] $b $FinalString[28] $p $FinalString[29] $r $FinalString[30] $r $FinalString[31] $y $FinalString[32] $g $FinalString[33] $b $FinalString[34] $p $FinalString[35] $r $FinalString[36] $r $FinalString[37] $y $FinalString[38] $g $FinalString[39] $b $FinalString[40] $p $FinalString[41] $r $FinalString[42] $r $FinalString[43] $y $FinalString[44] $g $FinalString[45] $b $FinalString[46] $p $FinalString[47] $r $FinalString[48] $r $FinalString[49] $y $FinalString[50]
Write-Host $Final"
我不知道這是否可能,我覺得我認為我知道的關于 PowerShell 的一切都消失了。即使是正確方向的一點也會有所幫助,我確信我錯過了一些明顯的東西。
編輯:這是我在 Python 中所做的作為我正在嘗試做的示例,但我在 PS 中需要這個我一直在嘗試學習 PowerShell
import pyperclip
def main():
t = input("What is the text you would like to colorfy!?: ")
c = "rainbow"
f = ['</>']
if c == ("rainbow"):
d = 0
e = list(t)
for i in range (0,len(e)):
if d == 4:
f.append("<HTMLCODEEXAMPLE>" e[i] "</>")
d = 0
elif d == 3:
f.append("<HTMLCODEEXAMPLE>" e[i] "</>")
d = 4
elif d == 2:
f.append("<HTMLCODEEXAMPLE>" e[i] "</>")
d = 3
elif d == 1:
f.append("<HTMLCODEEXAMPLE>" e[i] "</>")
d = 2
elif d == 0:
f.append("<HTMLCODEEXAMPLE>" e[i] "</>")
d = 1
f.append("<HTMLCODEEXAMPLE></>")
G = str(f)
G = G.replace("[","")
G = G.replace("]","")
G = G.replace("'","")
G = G.replace("[","")
G = G.replace(", ","")
print(G)
pyperclip.copy(G)
f.clear()
main()
main()
uj5u.com熱心網友回復:
如果要回圈通過固定數量的專案,請使用余數運算子%“環繞”并回傳零:
$word = 'Rainbow'
$colors = -split 'Red Orange Yellow Green Blue Indigo Violet'
$htmlBuilder = [System.Text.StringBuilder]::new()
for($i = 0; $i -lt $word.Length; $i )
{
# pick color, use % to wrap around at the end of the $colors array
$color = $colors[$i % $colors.Length]
# append html fragment
$htmlBuilder = $htmlBuilder.AppendFormat('<span style="color: {0}">{1}</span>', $color, $word[$i])
}
# output html string
$htmlBuilder.ToString()
產生:
<span style="color: Red">R</span><span style="color: Orange">a</span><span style="color: Yellow">i</span><span style="color: Green">n</span><span style="color: Blue">b</span><span style="color: Indigo">o</span><span style="color: Violet">w</span>
要顯示顏色選擇器環繞并回傳紅色,以下是輸出$word = 'StackOverflow':
<span style="color: Red">S</span><span style="color: Orange">t</span><span style="color: Yellow">a</span><span style="color: Green">c</span><span style="color: Blue">k</span><span style="color: Indigo">O</span><span style="color: Violet">v</span><span style="color: Red">e</span><span style="color: Orange">r</span><span style="color: Yellow">f</span><span style="color: Green">l</span><span style="color: Blue">o</span><span style="color: Indigo">w</span>
uj5u.com熱心網友回復:
試試看,在這種情況下不需要for回圈。您可以使用foreach回圈(.foreach(..)在這種情況下為方法)回圈每個字符并在每個元素上添加您的$x和$y標簽。
如果您希望全部作為單個字串而不是多行字串,請使用.Append(..)方法而不是StringBuilder.AppendLine(..)的方法。
請注意,這假設$x和$y具有相同數量的元素。
$string = "Testers will test"
$x = '<tag1>', '<tag2>', '<tag3>', '<tag4>'
$y = '</tag1>', '</tag2>', '</tag3>', '</tag4>'
$i = 0
$builder = [System.Text.StringBuilder]::new()
$string.ToCharArray().ForEach({
process {
$null = $builder.AppendLine(('{0}{1}{2}' -f $x[$i], $_, $y[$i ]))
if($i -eq $x.Count) { $i = 0 }
}
end {
$builder.ToString()
}
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/418563.html
標籤:
