Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]Regex: Podmiana linków na clickable w stringu
Forum PHP.pl > Forum > Przedszkole
KubutekAsinski
Witam. Pracuję nad

Kod
www.MindRiver.pl


Zrobiłem tam coś w stylu mini shoutboxa.
Chciałbym zrobić system automatycznego
wykrywania linków http i https i dodawania
na ich początku <a href="siup">siup
i na końcu siup</a>

Nie znam się zbytnio na regex. Udało mi się
zrobić coś takiego:

Kod
/^\b[[:<:]](https|http):\/\/[A-z0-9\.]*[[:>:]]\b$/gm


ale oczywiście niezbyt działa, jak to sprawdź sobie
na

Kod
https://regex101.com/


Na chwilę obecną szukam dobrego wyrażenia
regex które zrobi robotę. Potem będziemy się
martwić o resztę.

Bardzo proszę o pomoc! Dziękuję serdecznie.
Kuba
nospor
Wpisz w google:
php regex to replace links
KubutekAsinski
Kod
$str= preg_replace(
    "/(?<!a href=\")(?<!src=\")((http|ftp)+(s)?:\/\/[^<>\s]+)/i",
    "<a href=\"\\0\" target=\"blank\">\\0</a>",
    $str
);


Looks damn nice! Ale skomplikujmy trochę sprawę.
Już raz coś takiego kiedyś zrobiłem, ale oczywiście, teraz
nie pamiętam jak.

Chodzi o to, że w tekście swoim, po wklejonym linku, np. do YouTuba
albo do przepisu Babci Aliny jak jak zrobić kompot z brzozy, chciałem
dodać opis, w ten sposób:

Kod
https://www.BabciaAlinaPrzepisNaKompotZbrzozy.com[LinkDoPrzepisuBabci]


Następnie chciałbym, żeby w stringu moim pojawił się tylko i wyłącznie
[LinkDoPrzepisuBabci], odsyłający oczywiście tam gdzie trzeba.

Przepraszam, wszytkie babcie które nie potrafią zrobić kompotu z brzozy.
Może jest choć jedna co umie.

Dzięki za pomoc. Pozdrawiam.
Kuba

ps. "Czy zawsze jak sie zmienia pracę ze śmieciarza na programistę to się
dostaje gorączki 40 stopni i grype na 7 dn?"
kreatiff
preg_replace_callback, który sprawdza, czy w znalezionym ciągu znaków na końcu znajdują się nawiasy kwadratowe zawierające np. tylko znaki alfanumeryczne (czy inne, które mogą się znaleźć w tytule linku). I jeśli tak, to podmienić surowy adres na tekst z tego nawiasu, a jeśli nie to nie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.