Autor | Zpráva | ||
---|---|---|---|
Měsíček Profil |
#1 · Zasláno: 3. 12. 2007, 16:28:40 · Upravil/a: Měsíček
Dělám si svoji knihu návštěv a narazil jsem na problém, nevím jak udělat odkaz (něco jak zde to v tom [xxx][/xxx]), není problém v Javascriptu ten jsem přelouskl, ale nevím jak to vložit do pole a pak to zredukovat .. útržky kódu :
Javascript / HTML <td><img src="Smajly/b.png" onClick="smajlik('[/b]')"></td> <td><img src="Smajly/i.png" onClick="smajlik('[/i]')"></td> <td><img src="Smajly/u.png" onClick="smajlik('[u][/u]')"></td> <td><img src="Smajly/a.png" onClick="smajlik('[urll=xxx][/urll]')"></td> a PHP $smajlici = array("*1*"=>"<img src='Smajly/1.gif'>","*2*"=>"<img src='Smajly/2.gif'>","*3*"=>"<img src='Smajly/3.gif'>","*4*"=>"<img src='Smajly/4.gif'>","*5*"=>"<img src='Smajly/5.gif'>","*6*"=>"<img src='Smajly/6.gif'>","*7*"=>"<img src='Smajly/7.gif'>","*8*"=>"<img src='Smajly/8.gif'>","*9*"=>"<img src='Smajly/9.gif'>","*10*"=>"<img src='Smajly/10.gif'>","[b]"=>"<b>",""=>"</b>","[i]"=>"<i>",""=>"</i>","[u]"=>"<u>","[/u]"=>"</u>","[urll] "=>"<a href='","[/urll]"=>"'></a>"); záměrně dávám urll, aby to nevzalo teď jako odkaz .. a potřebuji vědět jak to zařídit v tom poli, aby se z toho udělal odkaz .. nevíte nějáké nápady ? Jinak tučné, kurzíva, podtržené funguje bezproblému jen ten odkaz mi dělá problém :-( |
||
Taps Profil |
#2 · Zasláno: 3. 12. 2007, 16:34:53
Měsíček
a co str_replace? |
||
Str4wberry Profil |
#3 · Zasláno: 3. 12. 2007, 16:37:35
Měsíčku, nakouknout do manuálu Tě nenapadlo?
preg_replace() popř. ereg_replace() |
||
Měsíček Profil |
#4 · Zasláno: 3. 12. 2007, 16:44:34
já bych totiž nejradši měl všechno v tom poli :-)
|
||
shadyyx Profil |
#5 · Zasláno: 3. 12. 2007, 16:44:55 · Upravil/a: shadyyx
no to bude tim, ze v JS mas [ u r l = x x x ] a v PHP mas [ u r l ] => musis si osetrit oba pripady...
tedy pro '[urll][/urll]' ==>> "[urll]"=>"<a href=","[/urll]"=>"></a>" a pro '[urll=xxx][/urll] to bude asi nejak takto: ==>> $str = concat("[urll=xxx]","="); $str[0]=>"<a href=".$str[1].">","[/urll]"=>"</a>" samozrejme, bude potreba jeste predtim nejak testovat jestli to [urll] obsahuje "=" a podle toho pak rozhodnout... |
||
Měsíček Profil |
#6 · Zasláno: 3. 12. 2007, 16:45:57
jinak tam mám addslashes = to udělá tohle : <a href=\"\">adfdsaf</a> takže já potřebuji přes tohle pole tak jak dělám i to ostatní ..
|
||
Měsíček Profil |
#7 · Zasláno: 3. 12. 2007, 16:58:35
shadyyx = Díky ten první mi funguje tak jak jsem potřeboval ten druhý ještě ne .., ale snažím se i o to :-)
|
||
shadyyx Profil |
#8 · Zasláno: 3. 12. 2007, 17:05:20
pokud by ten druhy nefungoval, tak se na nej muzes vykakat...ten druhy je (ale asi jak vis sam) na to, ze uzivatel muze link na stranku schovat do [urll=link]ODKAZ[/urll] ... ten prvni pripad tedy bude omezen tim, ze cely link bude vypsan v textu, tedy [urll]link[/urll] - zalezi na tobe jestli tam chces mit vsechno...jen je s tim pak vetsi piplacka...
btw - takoveto JS/PHP "kultivatory" textu pro knihy navstev a diskuzni fora jsou volne k dispozici jiz hotova na webu, staci trosku zapatrat v googlu ;-) |
||
Měsíček Profil |
#9 · Zasláno: 3. 12. 2007, 17:06:04
jinak co je to za funkce concat(); ?
|
||
shadyyx Profil |
#10 · Zasláno: 3. 12. 2007, 17:19:24 · Upravil/a: shadyyx
DPC...ja to opravil (editoval) ale ono mi to jeblo zpatky...
tam jsem se zmylil - concat() je prave opak co chceme my: tato funkce spojuje dva stringy...a my chceme aby se ten jeden rozdelil - takze to CONCAT prepis na EXPLODE - explode rozdeli string na tolik casti, kolikrat se v nem vyskytuje rozdelovaci znak - druhy argument, tedy v nasem pripade "=" - $str = explode("[url=NEJAKY LINK]odkaz[/url]","="); PAK: $str[0] = "[url"; $str[1] = "NEJAKY LINK]"; |
||
Měsíček Profil |
#11 · Zasláno: 3. 12. 2007, 17:24:53
Takže tohle vedle :
$str = explode("[urll=xxx]","="); a tohle do pole : $str[0]=>"<a href=".$str[1].">","[/urll]"=>"</a>" |
||
Měsíček Profil |
#12 · Zasláno: 3. 12. 2007, 17:25:47
nebo
Tohle vedle : $str = explode("[url=NEJAKY LINK]odkaz[/url]","="); PAK: $str[0] = "[url"; $str[1] = "NEJAKY LINK]"; a tohle do pole : $str[0]=>"<a href=".$str[1].">","[/urll]"=>"</a>" |
||
shadyyx Profil |
#13 · Zasláno: 3. 12. 2007, 17:44:50
no, ja bych to udelal asi tak (pac tam pak zustane ukoncovaci hranata zavorka v tom linku - "]") takze takhle asi:
nekde si musis ten string "[url=NEJAKY LINK]odkaz[/url]" ulozit (nacist) do promenny (nebo nevim jak ctes ty casti textu a jak v nich hledas dany stringy), zalezi tedy jeste jestli nacitas cely string "[url=NEJAKY LINK]odkaz[/url]", nebo nacitas "[url=NEJAKY LINK]", a pak uz jen "[/url]" (ten druhy zpusob by byl lepsi - treba do promenny $url nactes tuto nalezenou cast "[url=NEJAKY LINK" SCHVALNE BEZ UKONCOVACI ZAVORKY) a pak: $str = explode($url,"="); v pripade ze muzes nacist jen celou cast "[url=NEJAKY LINK]" (tedy i s ukoncovaci zavorkou), pak je potreba PO explode() jeste udelat $str1 = substring($str[1],0,-1) a pak tohle do pole : $str[0]=>"<a href=".$str[1].">","[/urll]"=>"</a>"[pre] NEBO [pre]$str[0]=>"<a href=".$str1.">","[/urll]"=>"</a>" kdyby neco nefungovalo, trochu se s tim pohrej, ja jsem to psal z hlavy takze to jiste nebude slapat napoprve (az takovej machr zatim nejsem, co pise validni kody z hlavy) |
||
Časová prodleva: 16 let
|
0