Clickable links i htmlentities (htmlspecialchars) jednocześnie

0

Chciałbym połączyć funkcje zmiany linków w tekście (treści posta) z zabezpieczeniem znaków specjalnych. Generalnie chciałbym efekt jak na facebook, że wklejenie kodu html z jakimś linkiem np. <a href="http://example.com">example.com</a> sprawi, że kod wyświetli się normalnie (nie wykona się), a link będzie klikany. Nie ma problemu z zrobieniem klikalnych linków, ani z zakodowaniem znaków specjalnych, ale nie jestem w stanie tych dwóch funkcji połączyć ponieważ jeżeli użyje htmlentities przed "clickable" to link wyłapuje za dużo znaków, a jak po to wiadomo, że też ucierpią linki stworzone przez funkcję.

Jeżeli ktoś na to nie ma pomysłu to wystarczyłoby mi jw. ale link w środku nie musi się robić klikalny - czyli jestem w stanie wkleić treść html z linkiem, który nie zostanie dotknięty. Oczywiście nie chodzi tylko o linki, ale wszelki kod, który ma href, url itp.

Obecny regex: https://regex101.com/r/5tVP6B/1

0

A nie lepiej po prostu używać jakiegoś tinymce?

1

Generalnie siedząc do 5 udało mi się względny efekt uzyskać. Używam htmlentities z ENT_NOQUOTES, zmieniam ampersandy z powrotem na symbole, używam preg match replace, który nie wyłapuje średników więc nie "łapie" za dużo, zmieniam na linki i iframe'y (wykrywam linki do YT, FB itp). Troszkę case z html i linkiem nadal się rozjeżdza, ale link jest klikalny. Ale i tak zastanawiam się czy nie ma jakieś libki, bo to dość częsty case na wszelkich streamach i tablicach w serwisach czyli:

  • zabezpieczenie htmla
  • zrobienie linków klikalnymi
  • obsłużenie w treści linków do serwisów i zmiana ich w iframe/video/embed
0

Jaki budżet?

1 użytkowników online, w tym zalogowanych: 0, gości: 1