ForumCała strona

Nawigacja

Aktualnie online

Gości online: 22

Użytkowników online: 0

Łącznie użytkowników: 25,400
Najnowszy użytkownik: AlojzyBartek

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

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

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

piterus
30.10.2024 19:45:48
I będziemy śpiewać: "Kiedy 20 blisko, przebadaj wszystko, przebadaj wszystko..." 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 25.11.2024 07:48:00
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