Clickable links i htmlentities (htmlspecialchars) jednocześnie

Odpowiedz Nowy wątek
2020-03-26 02:27

Rejestracja: 1 rok temu

Ostatnio: 1 tydzień temu

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

Pozostało 580 znaków

2020-03-26 08:57

Rejestracja: 6 lat temu

Ostatnio: 4 godziny temu

0

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

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. - eBizo 2020-03-26 10:06

Pozostało 580 znaków

2020-03-26 10:11

Rejestracja: 1 rok temu

Ostatnio: 1 tydzień temu

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

Pozostało 580 znaków

2020-03-26 12:45

Rejestracja: 2 lata temu

Ostatnio: 56 minut temu

0

Jaki budżet?


Open source. - eBizo 2020-03-26 12:47

Pozostało 580 znaków

Odpowiedz

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