diff --git a/samy.ps1 b/samy.ps1 index d9266f6..81263f6 100644 --- a/samy.ps1 +++ b/samy.ps1 @@ -756,16 +756,20 @@ if (-not $Global:SamyTasks) { function Escape-HtmlAttr { param([string]$s) if ([string]::IsNullOrEmpty($s)) { return '' } - $s = $s -replace '&','&' - $s = $s -replace '"','"' - $s = $s -replace '<','<' - $s = $s -replace '>','>' - return $s + + $s = $s -replace "(`r`n|`r|`n)", ' ' + $s = $s -replace '&','&' + $s = $s -replace '"','"' + $s = $s -replace "'",''' + $s = $s -replace '<','<' + $s = $s -replace '>','>' + return $s } function Escape-HtmlText { param([string]$s) if ([string]::IsNullOrEmpty($s)) { return '' } + $s = $s -replace '&','&' $s = $s -replace '<','<' $s = $s -replace '>','>' @@ -792,7 +796,8 @@ if (-not $Global:SamyTasks) { } $tooltipText = Escape-HtmlAttr $rawTooltip - $tooltipAttr = if ([string]::IsNullOrWhiteSpace($tooltipText)) { '' } else { " title=""$tooltipText""" } + $tooltipAttr = if ([string]::IsNullOrWhiteSpace($tooltipText)) { '' } else { " title=`"$tooltipText`"" } + $labelText = Escape-HtmlText ([string]$_.Label)