ForumCała strona

Nawigacja

Aktualnie online

Gości online: 25

Użytkowników online: 0

Łącznie użytkowników: 25,403
Najnowszy użytkownik: kowalski33

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

khaman
14.06.2025 15:21:12
Ale też mija miesiąc od jakiego panel admina nie działa, także spoko Smile

khaman
14.06.2025 15:19:40
Podobno to się da leczyć farmakologią Smile

JazOOn
13.06.2025 23:40:00
no za 5 dni miesiąc -gadam sam ze sobą ;-)

JazOOn
18.05.2025 22:31:41
Fakt. Zbyt miło wspominam te czasy, żeby się czepiać...

khaman
13.05.2025 09:46:54
Czepiasz się "drobnych"szczegółów
Pfft

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Automatyczne zastępowanie tekstu na link w newsie
MeTeo
Witam.

Ni jak nie da się tego opisać, coś nabazgroliłem w tytule, ale żeby zrozumieć to muszę to opisać Wink

Chcę wstawić w newsy automatyczne parsowanie(?) - wynika tak z maincore.php. Otóż, po wpisaniu jakiegoś słowa, ciągu słów, które są zdefiniowane gdzieś - zastępowało je (konkretnie chodzi mi o link). Coś na wzór BBCODE, tylko, że zamiast znaczników byłoby samo słowo/słowa. Dla zilustrowania:

- Piszę newsa, gdzie piszę o polityce i nagle w tekście padło nazwisko jakiegoś polityka, nazwisko to jest zdefiniowane i w newsie automatycznie zmieniło by ten tekst na link do jakiejś ustalonej strony Wink

No tak, ale w newsie nie ma bbcode, a nie chcę go dodawać tracąc przy tym html. Musiałoby to być automatyczne parsowanie(?) treści na stronie. Była wtyczka, że zamieniała linki ale nie działa w najnowszym fusionie.

Ktoś ma jakiś pomysł?

Pozdrawiam
 
Wścibski Gość
Dodany dnia 17.06.2025 12:59:31
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
Wooya
Napisalem kiedys moda pewnemu kolezce, ktory robil dokladnie to co opisujesz Wink Niestety ow kolega za to placil, wiec kodu ci nie udostepnie Cool

PS: to nie zlosliwosc, ale jak ktos placi to juz to nie jest OpenSourceSmile

PS2: podpowiedz: problem jest blahy. Napisz funkcje parsujaca slowa/zwroty i dodaj do niej parametr zawierajacy tresc newsa. Reszta powinna siedziec w bazie danych Wink
Edytowane przez Wooya dnia 11.04.2008 18:12:37
... Pomagam tylko przy najnowszych wersjach PHP-Fusion ...
koder_1.png
 
MeTeo
Bad Words? Nic takiego w labie nie znalazłem ;)

Wooya - gdyby to takie proste było ;) Tak czy inaczej zacząłem to dłubać. Napisałem przykładową funkcję

Pobierz kod źródłowy  Rozwiń Kod źródłowy


Która na pewno źle zastępuje i chyba już tylko w tym tkwi problem ;) Bo kod, który definiuje BBCODE jest dla mnie kompletnie niezrozumiały ;) Zobaczyłem na przykąłd comments_include i dodałem w themie "parsenews"

Pobierz kod źródłowy  Rozwiń Kod źródłowy


Niestety dalej nie działa. Problem o ile się nie mylę leży tylko w tym zastępowaniu :)

EDIT: Chyba jednak nie tylko w tym... Skopiowałem linijkę z bbcode by sprawdzić moją funkcję wstawiając w news'a bbcode... niestety nie działa...

Pozdrawiam
 
bartek124
To jest proste Grin. W news.php wstawiasz se preg_replace, pętla while z danymi z bazy i po robocie. Najpierw sobie zrób infusion z bazą słów, które mają być zastępowane (chyba że chcesz bezpośrednio w kodzie php), i na co mają być zastępowane.

Baza: id,
1 pole: słowo do zastąpienia
2 pole: słowo na jakie ma sie zmienić.

Jak to wykonasz już masz pół sukcesu. Potem to już z górki Wink.
userbar_bartek124_net.png mw.gif Nie pomagam na komunikatorach oraz PW!
 
www.bartek124.net
MeTeo
Ale po co takie coś? Mój pomysł jest zły? Ta funkcja jest w maincore.php, podobna do tej z bbcode, dodałem do theme.php w wyświetlaniu to też... Tylko coś jest niedokońca poprawnie, dlatego liczę na wskazanie Wink
 
bartek124
Funkcja jest poprawna. Ale chcesz gdzieś zdefiniować te słowa, więc ja zaproponowałem przechowywać je w MySQL.
Wtedy tylko sobie dodajesz słówka a one się zamieniają Wink.

Funkcja w maincore to parseubb, więc odczep Ty się od tego maincore.php Pfft. Dla newsów się zrobi w news.php Wink.
userbar_bartek124_net.png mw.gif Nie pomagam na komunikatorach oraz PW!
 
www.bartek124.net
MeTeo
Ale ja miałem pomysł zrobić bliźniaczą funkcję do bbcode w maincore, a następnie parsenews dodać w theme.php (tak jak mój 2 post).

Tylko co tam zrobiłem nie tak?
 
bartek124
Pobierz kod źródłowy  Rozwiń Kod źródłowy


return $text;
}[/code]

Daj w theme.php, przed
Pobierz kod źródłowy  Rozwiń Kod źródłowy


A potem w rendernews();
Pobierz kod źródłowy  Rozwiń Kod źródłowy


zamień na:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

userbar_bartek124_net.png mw.gif Nie pomagam na komunikatorach oraz PW!
 
www.bartek124.net
MeTeo
W "twoim" sposobie dodałeś tylko

Pobierz kod źródłowy  Rozwiń Kod źródłowy


:D Natomiast błąd był inny ale go już rozwiązałem ;)

zamiast
Pobierz kod źródłowy  Rozwiń Kod źródłowy


powinno być

Pobierz kod źródłowy  Rozwiń Kod źródłowy



Pozdrawiam i dziękuję za wszystko ;)
 
bartek124
Tych linijek nie ma w theme.php tylko news.php, a po drugie dodałem str_replace Wink.
userbar_bartek124_net.png mw.gif Nie pomagam na komunikatorach oraz PW!
 
www.bartek124.net
MeTeo
Ja je mam w themie Wink Nie chce mi się bawić w justowanie w plikach news.php dlatego kod mam w theme.php i tam mam wszystkie modyfikacje Wink
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl