Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

PHP, BBCode - Jak zrobić kod do podmiany tekstu na gotowy link, tak jak na forum

stihler 10 Maj 2011 17:56 3924 9
  • #1 10 Maj 2011 17:56
    stihler
    Poziom 15  

    Witam.
    Chciałbym u siebie na stronie stworzyć coś takiego jak BBCode, ale nie wiem jak to zrobić :(
    Coś takiego:

    Code:
    [URL]http://www.google.pl/[/URL]

    Zamieni mi na:
    Code:
    <a href="http://www.google.pl/">http://www.google.pl/</a>

    A jeszcze lepiej gdyby można było zrobić coś takiego:
    Code:
    [URL=http://www.google.pl/]Wyszukiwarka Google[/URL]

    Zamieni mi na:
    Code:
    <a href="http://www.google.pl/">Wyszukiwarka Google</a>


    A może ktoś z was wyciągnął ten kod z plików jakiegoś forum?
    Jeśli już miałbym ten kod to mógłbym go sobie dostosować do tworzenia obrazków i innych rzeczy.
    Sam nie potrafię takiego stworzyć.
    Proszę o pomoc.
    PS. Mogę dać punkty za gotowy kod...

    0 9
  • Pomocny post
    #2 10 Maj 2011 18:27
    Dżyszla
    Poziom 42  

    Skorzystaj z zamiany wyrażeń regularnych, np:

    Kod: php
    Zaloguj się, aby zobaczyć kod
    Kody są do znalezienia, ale nie ma problemu, by napisać samemu. Wystarczy tylko zrozumieć wyrażenia regularne.

    0
  • Pomocny post
    #3 10 Maj 2011 18:45
    wujek2009
    Poziom 12  

    Użyj gotowych rozwiązań, nie trać czasu na coś co już jest napisane.
    Zastosuj np. tą klasę.

    Pozdro.

    0
  • #4 10 Maj 2011 20:07
    stihler
    Poziom 15  

    Dziękuję, przejrzę podane materiały ;)

    0
  • #5 15 Maj 2011 06:57
    stihler
    Poziom 15  

    Co w tym kodzie jest nie tak???

    Kod: php
    Zaloguj się, aby zobaczyć kod


    Pytam, bo znalazłem go ale mi nie działa.
    Może nie wiem jak go użyć, jestem w kropce...
    PS. Jeśli chciałbym dodać aby akceptował także duże litery np. [URL] to co trzeba w nim zmienić?
    Wyczytałem, że po tym znaku | .
    Można dodawać tzw "lub"
    Może być coś takiego?
    url|URL ?
    Ale jak to wstawić?
    PS. Zmienna która ma być odebrana jest w nawiasach okrągłych?

    0
  • #6 15 Maj 2011 10:36
    Dżyszla
    Poziom 42  

    Wróć do mojego postu i porównaj.
    Co robi znak / zaraz po # w wyrażeniu regularnym? Chyba jest tam zbędny... tak samo jak ostatni przed #. Pierwszy znak określa separator wyrażenia od parametrów. Przy kolejnym wystąpieniu takiego traktuje się ciąg jako koniec wyrażenia i początek parametrów. Moim zdaniem wystarczą tylko i (ignorowanie wielkości znaków) i s (a nie pamiętam, co ro robiło ;p).
    Polecam narpawdę poszukanie jakiegoś opisu funkcji wyrażeń regularnych, bo to temat na spory rozdział w książce.

    0
  • #7 15 Maj 2011 10:54
    stihler
    Poziom 15  

    To jest funkcja a jak ją wywołać aby wyświetlić przerobiony tekst?
    Wystarczy coś takiego?

    Kod: php
    Zaloguj się, aby zobaczyć kod


    Jeśli mogę to prosiłbym o przejrzenie kodu wprowadzenie poprawek itp.
    To co w nim jest jest dla mnie wystarczające.
    Więc jeśli tylko zadziała będę zadowolony ;)
    Czytam o tym ale nie znam się na tyle dobrze aby wywęszyć błąd...

    0
  • #8 15 Maj 2011 11:54
    Dżyszla
    Poziom 42  

    do wyświetlania czegokolwiek służy funkcja echo względnie print.

    Ja myślę, że taki "błąd" to jednak brak elementarnych podstaw i proponuję zacząć od początku kurs php i w szczególności zwrócić uwagę, jak działają funkcje ;)

    0
  • #9 15 Maj 2011 14:50
    stihler
    Poziom 15  

    Wiem, że takie rzeczy to podstawa.
    Coś nie coś już stworzyłem w PHP nawet funkcję logowania, rejestracji.
    Przyznaję że na podstawie czyjegos działającego skryptu stworzyłem własny.
    To co mi podałeś wyżej działa bez zarzutów i to mnie dziwi że ta funkcja nie działa bo wnętrze ma prawie takie same tylko zrobiona w tablicy.
    Mógłbyś ją przejrzeć? Sprawdzić u siebie czy działa...
    Ty się na tym znasz. A ja się uczę jedynie z internetu.
    Zazwyczaj biorę jakąś funkcję, skrypt i wyjaśniam sobie co do czego i dlaczego. Na twoim przykładzie i innych uczę się tworzenia wyrażeń regularnych. Ale nie wiem jak je połączyć w taka tablice która zadziała, bo nie mogę robić osobnego kodu dla każdego przykładu: [url],[img]

    0
  • #10 16 Cze 2011 17:00
    stihler
    Poziom 15  

    Rozwiązałem wreszcie sam swój problem.
    Oto działający kod dla potomnych :D

    Kod: php
    Zaloguj się, aby zobaczyć kod

    Podobny efekt jak poniżej: ;)
    PHP, BBCode - Jak zrobić kod do podmiany tekstu na gotowy link, tak jak na forum
    Dlatego napisałem podobny, bo tutaj nie działa \[img\] z opisem:
    [img=http://gfx.dlastudenta.pl/photos/dlafaceta/seks/biust.jpg]Ładny biust[/img]

    0