Autor | Zpráva | ||
---|---|---|---|
Nookyn Profil |
#1 · Zasláno: 11. 12. 2009, 22:02:37
Mam tu menší problém, mam návštěvní knihu a chtěl bych mít něco jako BB kódy... mam jeden PHP kód ale nefunguje tak jak má.
<?php $data1=mysql_query("SELECT * FROM kniha ORDER BY id DESC LIMIT 20"); while ($data=mysql_fetch_array($data1)){ $data2[nick]=stripslashes($data[nick]); $data2[web]=stripslashes($data[web]); $data2[text]=stripslashes($data[text]); $data3[text]=str_replace("","<strong>",$data2[text]); $data3[text]=str_replace("","</strong>",$data2[text]); echo("<div style='padding: 5px 0px 5px 0px; font-size: 15px; font-weight: bold; color: #0067A9;'>".$data2[nick]."</div>"); echo("<div style='padding: 5px 0px 5px 0px; font-size: 10px;'>#".$data[id]." ".$data2[web]."</div>"); echo("<div style='padding: 5px 5px 5px 5px; font-size: 12px;'>".$data3[text]."</div><br>"); } ?> mam tam $data3[text]=str_replace("","<strong>",$data2[text]); $data3[text]=str_replace("","</strong>",$data2[text]); a z toho funguje jen 2. řádka. PLS help! |
||
MCKAY Profil |
#2 · Zasláno: 11. 12. 2009, 22:08:21
Nookyn:
Nepochopil jsem úplně význam, ty totiž tak nějak nahrazuješ nic něčím. Jinak mám také dojem, že pokud je jako index pole použit text, tak by měl být v tomto případě v uvozovkách (jestli to není třeba tím). |
||
Joker Profil |
#3 · Zasláno: 11. 12. 2009, 22:09:53 · Upravil/a: Joker
Nookyn:
Předpokládám to má být takhle: $data3[text]=str_replace("[b]","<strong>",$data2[text]); $data3[text]=str_replace("[/b]","</strong>",$data2[text]); Problém je ve vyznačeném- na prvním řádku se do $data3[text] uloží výsledek prvního nahrazení, na druhém řádku se to přepíše výsledkem druhého nahrazení. Další věc, pokud zapnete výjimky, nejspíš to bude házet něco o nedefinovaných indexech pole. To kvůli tomu, že řetězce mají být v uvozovkách: $data3["text"] edit: Zdá se nějak nefunguje zrušení BBCode. |
||
Radek9 Profil |
#4 · Zasláno: 11. 12. 2009, 22:12:36 · Upravil/a: Radek9
Nookyn:
1) Pochybuji, že máte pro všechny indexy definovanou konstantu. 2) Nahrazujete nic něčím. To nejde. (Edit: aha, už chápu...) Udělejte to spíš takhle: $data3["text"] = preg_replace("/\[[bB]\](.+?)\[\/[bB]\]/s", "<strong>\\1</strong>", $data2["text"]); |
||
Nookyn Profil |
#5 · Zasláno: 11. 12. 2009, 23:17:58
Na tak se omlouvam za 1. sem blbě napsal kód a za 2. je to vyřešené, sem si trochu hrál...
Udělal sem to pomocí funkce array(). |
||
MCKAY Profil |
#6 · Zasláno: 11. 12. 2009, 23:24:07
Nookyn:
Nechceš se třeba alespoň pochlubit se svým výtvorem? |
||
Radek9 Profil |
#7 · Zasláno: 11. 12. 2009, 23:37:26
Nookyn:
„Udělal sem to pomocí funkce array()“ Array není funkce, ale pole. |
||
Nookyn Profil |
#8 · Zasláno: 12. 12. 2009, 21:53:16
|
||
Radek9 Profil |
#9 · Zasláno: 12. 12. 2009, 22:25:10 · Upravil/a: Radek9
Nookyn:
„A pokud vim, tak array() je funkce která určuje obsah danýho pole :-P.“ Ne. To, že tam jsou závorky z toho ještě nedělá funkci. Array je prostě array. |
||
Nookyn Profil |
#10 · Zasláno: 12. 12. 2009, 22:43:02
www.php.net/manual/en/function.array.php, a co je asi tuto ???
|
||
Alphard Profil |
#11 · Zasláno: 12. 12. 2009, 23:29:23
Nookyn:
Když už odkazujete manuál, tak se do něj aspoň podívejte. Note: array() is a language construct used to represent literal arrays, and not a regular function. |
||
Nookyn Profil |
#12 · Zasláno: 13. 12. 2009, 15:01:30
Ok :-D tak sry...
|
||
Časová prodleva: 14 let
|
0