![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 2.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
mam problem z preg_replace. Poniższy kod zamienia tekst w aktywne linki. Tylko jak przerobić tą funkcję aby nie była ona wykonywana gdy w danym artykule osadze np. film YT (w kodzie też jest http:// url filmu) i wtedy mi całość rozwala co jest zrozumiałe.
Bardzo prosze o pomoc Dzięki Ten post edytował mb83 11.04.2013, 19:26:39 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Może najpierw w preg_match znajdź sobie wszystkie linki do zamiany. Jako ostatni parametr w preg_match podajesz nazwę tablicy, w której będą znalezione fragmenty. Jeśli w znalezionym fragmencie znajduje się słowo 'youtube' to nie zamieniasz. W przeciwnym razie - zamieniasz , czyli str_replace dla tego fragmentu.
Ten post edytował Michael2318 12.04.2013, 06:27:51 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 2.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
A czy mogę prosić w formie kodu?
Nie za bardzo wiem jak to złożyć :-) |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Witaj.
Twój problem jest nawet szerszy bo w tekście mogą znaleźć się obrazki oraz już istniejące linki. Możesz wykonać przewidywanie wsteczne. Kod <?php function addURL($st) { $st = preg_replace('/(?<!(?: src|href)=["\'])(https?|ftp)(:\/\/[[:alnum:]@#%\&_=?\/\.-]+)/','<a href="\\1\\2" target="_blank">\\1\\2</a>', $st); return $st; } $string = '<img src="https://www.google.pl/images/srpr/logo4w.png" /> http://www.wp.pl/ https://helion.pl/ <iframe width="420" height="315" src="http://www.youtube.com/embed/AJsWz9SlpfA" frameborder="0" allowfullscreen></iframe>'; echo addURL($string); Wynik:
Pozdrawiam. Ten post edytował tolomei 12.04.2013, 22:39:02 -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 2.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za pomoc ;-)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 16:17 |