Powered by AppSignal & Oban Pro

zeichencodierung fixes

2024_08_06/zeichencodierung fixes.livemd

zeichencodierung fixes

use QuickAlias, MyAppWeb
use QuickAlias, MyAppBe
use QuickAlias, MyApp

require Ecto.Query
require Ash.Query
import MyApp.MavuEntities.UuidGuards

Section

evs_with_html=
  Event
|> Ash.Query.filter(like(title,"%<%"))
|> Ash.read!()


  evs_with_html |> length()
  
evs_with_html
|> Enum.map(fn a -> Map.take(a, ~w(id title)a)  end)
|> Kino.DataTable.new()
defmodule Helpers do

  def sanitize(text) do
    text
    |> String.replace(~r{(<i>|</i>|<b>|</b>|<br>)}mis,"")
  end
  
end
for ev <- evs_with_html do
  title=ev.title
  title2=Helpers.sanitize(title) |> HtmlEntities.decode()

  if title != title2 do

    ev 
    |> Ash.Changeset.for_update(:update, %{title: title2})
    |> Ash.update!()

    
    %{title: title, title2: title2}
  end
  
end

|> Enum.reject( &is_nil/1)


|> Kino.DataTable.new()