Clickable links i htmlentities (htmlspecialchars) jednocześnie

Clickable links i htmlentities (htmlspecialchars) jednocześnie
EB
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:51
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

serek
  • Rejestracja:około 11 lat
  • Ostatnio:10 minut
  • Postów:1475
0

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

EB
A w czym miałoby mi pomóc tinymce? Ja NIE chce formatowanego HTMLA, chce 1:1 efekt jak dodawanie posta na Facebook, na którym nie ma żadnych edytorów.
EB
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:51
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
Freja Draco
Freja Draco
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
0

Jaki budżet?


EB
Open source.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.