Autor Zpráva
peta
Profil *
mam takovyto script, otazka je jednoducha, kde je tam chyba?
Kdyz zacnu provadet regularni vyrazy (cast smile2) tak se to nekde zacykli nebo mi vypadava hosting?
Take je mozne, ze ADDSLASHES nedela presne to, co jsem po nem chtel, smiletext potrebuji zkonvertovat na neco podobneho (zatim staci bez plusek)
':\-\)\)+|:o\)\)+|:\)\)+',
':\-\(\(+|:o\(\(+|:\(\(+',
':\-\)|:o\)|:\)',
':\-\(|:o\(|:\('




<?php
$smiletext = array(
':-)) :o)) :)) :D :-D ;-)) ;o)) ;)) ;D ;-D',
':-) :o) :) ;-) ;o) ;)',
':-( :o( :( ;-( ;o( ;(',
':-(( :o(( :(( ;-(( ;o(( ;((',
'@->-', '@->-', 'tanec', '=^-^=',
'beruska', '<3', '<3', '<3',
'*^_^*', ':* :-*', 'O:)', '>:)',
':|', ':)=', 'vlocka', 'slunicko',
'o^o', '=:@)', 'koste', 'tapka pa'
);
?>

//smile1
include("./chatsmile.inc.php");
$smiles=count($smiletext);
$a=$smiletext[3]; //move (( at top for true replace
$smiletext[3]=$smiletext[1];
$smiletext[1]=a;
$smilereg=array();
for ($i=0;$i<$smiles;$i++)
{
$smilereg[$i]=addslashes($smiletext[$i]);
Ereg_Replace(' ','|',$smilereg[$i]);
}

//smile2
$c = str_Replace($smilereg[0], '*'.'0'.'*' , $c);
$c = str_Replace($smilereg[1], '*'.'3'.'*' , $c);
$c = str_Replace($smilereg[2], '*'.'2'.'*' , $c);
$c = str_Replace($smilereg[3], '*'.'1'.'*' , $c);
for($i=4;$i<$smiles;$i++)
{$c = str_Replace($smilereg[$i], '*'.$i.'*' , $c);}
for ($i=0;$i<$smiles;$i++)
{$c = str_replace('*'.$i.'*','<u class="sm l'.$i.'" title="'.$i.' '.$smiletext[$i].'">&nbsp;</u>',$c);}
peta
Profil *
tak to zalomitkovani se dela addcslashes() a addslashes()
objevil jsem dalsi problem, pred ulozenim do DB pouzivam htmlspecialchar() takze mi tam nektere vyrazy ani nesedi.

Jinak CHYBA nastava uz pri vyrazu pro ruzicku.
Takze nakonec necham jenom bezne smajliky a na ty ostatni se vybodnu, protoze nevim, jak to udelat.
peta
Profil *
teda quotemeta() je ta dalsi lomitkovaci funkce...
peta
Profil *
tak sem chybu objevil :)
je to trapne, mel jsem
for($i=0...)
{
regularni vyraz;
regularni vyraz;
regularni vyraz;
$i=5;regularni vyraz($i);
}

samozrejme, ze mi to zkapalo :)
Toto téma je uzamčeno. Odpověď nelze zaslat.