Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V  < 1 2 3 >  
Reply to this topicStart new topic
> BBCode => HTML, Funkcja, PHP 4 i 5
onlyX
post
Post #21





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Grajewo

Ostrzeżenie: (0%)
-----


Świetna funkcja. Wielkie gratulacje dla BzikOS'a za kawał dobrej roboty.

Mam pytanie. Czy dało by się to rozszeżyć o zamianę http:// i e-maili bez bbcode na linki?

Próbowałem połączyć te funcje z innymi, ale wszystko się sypało.
Najlepszy rezultat osiągnąłem przy pomocy funkcji:
  1. <?php
  2. function format_links($chk_str) {
  3.     $a = explode(&#092;" \", $chk_str);
  4.     for($i=0; $i<count($a); $i++) {
  5.         //Take care of URLs that don't start with \"http://\"
  6.         $b = str_replace(&#092;"www.\", \"http://www.\", $a[$i]);
  7.         $b = str_replace(&#092;"http://http://\", \"http://\", $b);
  8.         
  9.         //Identify URL
  10.         $pos = strpos($b, &#092;"http://\");
  11.         if ($pos === false) {
  12.             // note: three equal signs
  13.             $url_found = false;
  14.         }
  15.         else {
  16.             $url_found = true;
  17.         }
  18.         
  19.         if($url_found) {
  20.             //Replace URL with formatted URL
  21.             $a[$i] = &#092;"<a href='$b' target=_blank>$b</a>\";
  22.         }
  23.         
  24.         //Identify E-Mail
  25.         $pos = strpos($b, &#092;"@\");
  26.         if($pos === false) {
  27.             $email = false;
  28.         }
  29.         else {
  30.             $email = true;
  31.         }
  32.         
  33.         if($email) {
  34.             //Replace e-mail with formatted e-mail
  35.             $a[$i] = &#092;"<a href='mailto:$b'>$b</a>\";
  36.         }
  37.     }
  38.     
  39.     //Put string toghet with formatted links
  40.     $chk_str = implode(&#092;" \", $a);
  41.     
  42.     //Return formatted string
  43.     return $chk_str;
  44. }
  45. ?>

i użyciu:
  1. <?php
  2. $text = &#092;"http://www.xxx.pl<br>
  3. onlyx@o2.pl<br>
  4. [url]www.adres.pl[/url]<br>
  5. [url]http://www.adres.pl[/url]<br>
  6. [url=www.adres.pl]text[/url]<br>
  7. [url=http://www.adres.pl]text[/url]<br>
  8. [url=https://www.adres.pl]text[/url]\";
  9.  
  10. echo bb2html(format_links($text));
  11. ?>

jedynym błędem było to, że to pierwszych dwóch linków (tych bez bbcode) jako href wrzucało mi cały string.

Czy dałoby się to poprawić?


EDIT: po wstawieniu spacji pomiedzy adresami a <BR> do pierwszego linka wsatwiało dobry href, a do drugiego z <BR> na początku. Trzeba więc zrobić tak żeby rozdzielało wyrazy nietylko poprzez explode(" ", $chk_str) ale też explode("\n", $chk_str).

Ten post edytował onlyX 11.09.2004, 21:50:20
Go to the top of the page
+Quote Post
SoulRipper
post
Post #22





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

Ostrzeżenie: (0%)
-----


dobra. ja robie to tak


Kod
fumction bb2html()
{
blablabla
}

$string "[b]iiiiiiiiiii[/b]";
echo bb2html($string);


natomiast jako wynik php wypluwa blad:
Kod
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\FoxServ\www\clan\test.php on line 59


ps. Oczywiscie w "blablabla" jest poprawny kod. Zeby nie bylo ;]
Go to the top of the page
+Quote Post
Ive
post
Post #23





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

Ostrzeżenie: (0%)
-----


  1. <?
  2. $string = &#092;"iiiiiiiiiii\";
  3. ?>
... n/c
Go to the top of the page
+Quote Post
krysk
post
Post #24





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Mógłby ktoś to wystawić w formie phps na jakimś serwerze? Ew. podesłać mi na maila bo mam małe problemy z naprawieniem szkód wyrządzonych przez formatowanie forum ;-)


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post
sf
post
Post #25





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Jakby ktoś potrzebował czegoś bardziej `poteżnego` to odsyłam tutaj :

http://www.christian-seiler.de/projekte/ph...e/index_en.html

smile.gif


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
primo
post
Post #26





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

Ostrzeżenie: (0%)
-----


szukałem małej nieskomplikowanej funkcji zamieniającej tagi i dziś się na tą natkąłem. Jest po prostu git, ale nie chce mi coś działać. Nie wiem czy to dlatego że pisana była pod php 4,... a ja mam 5 czy też jest inny problem.

  1. <?php
  2.  
  3. include(&#092;"bbcode.php\");
  4.  
  5. $text = &#092;"ten tekst, bedzie pogrubiony.\";
  6.  
  7.  
  8. echo bb2html( $text );
  9. ?>


a taki jest wynik działania:

<>ubiony[/b].


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
Go to the top of the page
+Quote Post
Linandar
post
Post #27





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 30.12.2004
Skąd: Mielec

Ostrzeżenie: (0%)
-----


Mam ten sam problem My Webpage
dałem:
  1. <?php
  2.  
  3.  
  4. include(&#092;"bbcode.php\");
  5.  
  6. $text = &#092;"ten tekst, bedzie  pogrubiony ,dodatkowo jak sie ktos postara, to i  podkreslony ,zas dla mistrzow w temacie, poleca sie rowniez uzycie  kursywy \";
  7.  
  8. echo bb2html($text);
  9. ?>

i otrymałem:
Kod
<><><><><>rsywy [/i]
. Oczywiście tekst jest w skrypcie pisany w jednej linijce. Piszecie, że trzeba coś zmienić bo foru coś psuje, u mnie wszystkie linijki w oryginalnym kodzie są wyprostowane. Jeśli ktoś wie co muszę poprawić to proszę, napiszcie
Go to the top of the page
+Quote Post
bregovic
post
Post #28





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

Ostrzeżenie: (0%)
-----


Ehhh, zobaczcie tutaj:
http://tmp.brego.dk/php/bbcode.php
I tutaj:
http://tmp.brego.dk/php/bbcode.phps

Ten post edytował bregovic 16.12.2005, 00:02:52


--------------------
Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica
Go to the top of the page
+Quote Post
Linandar
post
Post #29





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 30.12.2004
Skąd: Mielec

Ostrzeżenie: (0%)
-----


No to dałem plamę.... chodziło tylko o nawiasy{} Przepraszam - nie zabijaj. :roll2:
Go to the top of the page
+Quote Post
jang
post
Post #30





Grupa: Zarejestrowani
Postów: 101
Pomógł: 11
Dołączył: 2.02.2005

Ostrzeżenie: (0%)
-----


BzikOS to jest super. Działa od ręki. Win98 - Apache 1.3.31 - php 4.3.9
Dzięki.


--------------------
$email = filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if($email === false) {
// Houston, we have a problem....
}
Go to the top of the page
+Quote Post
angel2953
post
Post #31





Grupa: Zarejestrowani
Postów: 199
Pomógł: 5
Dołączył: 8.07.2004
Skąd: gdynia

Ostrzeżenie: (0%)
-----


A jak do tego dodać jeszcze rozmiar czcionki by było tylko kilka zdefiniowanych tzn:
Kod
[size=rozmiar]tekst o rozmiarze rozmiar[/size]

tak by rozmiar był jednym z xx-small|x-small|small|medium|large|x-large|xx-large lub od 10 do 30 pixeli.

Z góry thx za pomoc...


--------------------
Sygnaturkę ukradli
Go to the top of the page
+Quote Post
Spirit86
post
Post #32





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $codesArr = Array( 'url' => Array('a','href=\"'),
  4. 'img' => Array('img', 'src=\"'),
  5. 'color' => Array('span','style=\"color:'),
  6. 'size' => Array('span','style=\"size:'),
  7. 'b' => 'b', 
  8. 'u' => 'u', 
  9. 'i' => 'i');  
  10.  
  11. ?>

@angel2953: na przykład tak?


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
NuLL
post
Post #33





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Ja również dziękuje - własnie mi się przydała.

BTW. Pracuje nad bardziej zaawansowaną wersją smile.gif

@sf -to podałeś jest masakrycznie wolne dry.gif


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
Vengeance
post
Post #34





Grupa: Zarejestrowani
Postów: 657
Pomógł: 2
Dołączył: 15.08.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Ze swojej strony jeszcze zapraszam na http://bbcode.strefaphp.net


--------------------
Go to the top of the page
+Quote Post
Bojakki
post
Post #35





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

Ostrzeżenie: (0%)
-----


Cytat(Linandar @ 2005-01-30 06:46:32)
Mam ten sam problem My Webpage
dałem:
  1. <?php
  2.  
  3.  
  4. include("bbcode.php");
  5.  
  6. $text = "ten tekst, bedzie  pogrubiony ,dodatkowo jak sie ktos postara, to i  podkreslony ,zas dla mistrzow w temacie, poleca sie rowniez uzycie  kursywy ";
  7.  
  8. echo bb2html($text);
  9. ?>

i otrymałem:
Kod
<><><><><>rsywy [/i]
. Oczywiście tekst jest w skrypcie pisany w jednej linijce. Piszecie, że trzeba coś zmienić bo foru coś psuje, u mnie wszystkie linijki w oryginalnym kodzie są wyprostowane. Jeśli ktoś wie co muszę poprawić to proszę, napiszcie

Mam ten sam problem, ale linki, ktore podal bregovic juz nie dzialaja i niestety nie wiem jak to poprawic:/ Moze ktos wie??


--------------------
Go to the top of the page
+Quote Post
bregovic
post
Post #36





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

Ostrzeżenie: (0%)
-----


Wyedytowałem linki w moim poście. Dla leniwców:
http://tmp.brego.dk/php/bbcode.php
http://tmp.brego.dk/php/bbcode.phps


--------------------
Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica
Go to the top of the page
+Quote Post
Forgoot
post
Post #37





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 17.03.2004
Skąd: Suwałki

Ostrzeżenie: (0%)
-----


Można by dodać jeszcze takie coś jak rozwijana tresc:

  1. <?php
  2.    function ukryj ( $match )   {
  3.       $id = uniqid();      
  4.       return '<a href="#" onclick="flip('' . $id . ''); return false;"><b>' . $match[1] . '</b></a><div id="' . $id . '" class="ukryj" style="display: none;">' . $match[2] . '</div>';
  5.    }
  6.    
  7.    $str = preg_replace_callback("#\[ukryj=\"?(.*?)\"?\](.*?)\[/ukryj]#si", 'ukryj', $str);
  8. ?>


JS:
Kod
function flip( rid ) {
  document.getElementById(rid).style.display = document.getElementById(rid).style.display == 'none' ? 'block' : 'none'
}


CSS:
Kod
.ukryj {
 padding-bottom: 10px; padding-left: 30px; padding-top: 10px; padding-right: 30px;
}


Uzywanie:
Kod
[ukryj="link"]rozwijana treść[/ukryj]


Wątek z tematu: http://forum.php.pl/index.php?showtopic=44296 Co Wy na to?
Pozdro smile.gif

Ten post edytował Forgoot 29.03.2006, 08:10:24


--------------------
"Nie bój się krytyki, ale pochwały lękaj się bardzo"
Zapraszam: www.Przerosl.com.pl !
Go to the top of the page
+Quote Post
Spirit86
post
Post #38





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


hmm, wygląda mi to na plagiat:

eSports.pl:

  1. <A HREF="#" ONCLICK="flip('37f6deb5e7_1'); return false;"><img src="http://obrazkowiec.esports.pl/esports/img/layouts/hide_dot.gif" border="0"><B>Czytajcie dalej...</B></A><SPAN ID="37f6deb5e7_1"><script LANGUAGE="JAVASCRIPT">flip('37f6deb5e7_1');</SCRIPT><div style="padding-bottom: 10px;padding-left: 30px; padding-top: 10px; padding-right: 30px;">Dzięki prężnie rozwijającemu się portalowi o gamingu <a href="http://www.esports.pl" target="_blank" title="http://www.esports.pl" class="postlink">eSports.pl</a>, macie okazję zostać redaktorami prezentującymi najświeższe wiadomości z kraju i ze świata, na temat Waszych ulubionych grier - <span style="font-weight: bold">Call of Duty</span> oraz <span style="font-weight: bold">Call of Duty 2</span>. Korzyści płynących z tego typu hobby jest naprawdę wiele: ponieważ wymaga to regularnego zaznajamiania się sytuacją sceny zarówno polskiej jak i zagranicznej, tak więc stajesz się specjalistą w swojej dziedzinie, pisanie determinuje naukę języka polskiego oraz angielskiego i dzięki temu nabywasz umiejętności, które z pewnością przydadzą Ci się w szkole, bądź w życiu codziennym, regularność wymagana podczas pisania trenuje Twój charakter i wyrabia nawyk systematycznej pracy (wiem to z własnego doświadczenia!). Wymagania nie są wygórowane i przedstawiają się następująco:<br />


Kod
function flip(rid)
 {
   current=(document.getElementById(rid).style.display == 'none') ? 'block' : 'none';
   document.getElementById(rid).style.display = current;
 }


"Twój" kod:

Kod
function flip( rid ) {
  document.getElementById(rid).style.display = document.getElementById(rid).style.display == 'none' ? 'block' : 'none'
}


Ten post edytował Spirit86 29.03.2006, 12:40:49


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
Forgoot
post
Post #39





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 17.03.2004
Skąd: Suwałki

Ostrzeżenie: (0%)
-----


W moim ostatnim poście powiedziałem:
Cytat
natomiast w temacie do którego podałem link pisałem:
Cytat
(...) chcialbym wiedziec jak zrobic rozwijana tresc, i jak dodac taki kod do BBCode?
Przyklad rozwijanej treści jest w news'ie na stronie: zobacz (...)

I nie napisałem że to skrypt mego autorstwa. Poprostu zależało mi na takiej opcji. Chciałem dodać do tego tematu kod który przedstawiłem, aby uatrakcyjnić obecne BBCode.

Ten post edytował Forgoot 29.03.2006, 12:50:07


--------------------
"Nie bój się krytyki, ale pochwały lękaj się bardzo"
Zapraszam: www.Przerosl.com.pl !
Go to the top of the page
+Quote Post
Spirit86
post
Post #40





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


no dobra, ale nie uważasz, że to nie fair korzystac z czyjegoś kodu bez jego wiedzy / zgody (?), a co gorsza publikować to w internecie, w temacie z którego wszyscy mogą skopiować kod, bo po to on jest?!


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post

3 Stron V  < 1 2 3 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 06:25