Pereiti prie turinio

Neaiškumai [PHP]


Rekomenduojami pranešimai

O jei prisireiktų daugiau ženklų, tai juo ir vardint toliau po brūkšnio?
Tiesiog dedi "\" (be kabučių) ir ženklą. Kai kuriems ženklams (kaip "/", ".", "[", "]" etc) yra būtinas tas "\" prieš juos, tačiau prieš kai kuriuos (like +, #, @ etc.) nereikia dėti nieko.

Turėtų maždaug taip atrodyt:

$text = preg_replace("/[^a-zA-Zą-žĄ-Ž0-9\-\.\/+#]/", "", $text);

(pridėjom dar šiuos ženklus: - . / + #)

Gal kurioje vietoje ir klystu, pataisykit, kaip jau minėjau, dar neįvaldžiau PCRE. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 savaičių...
Tikrai nuosirdziai dekoju uz sia informacija. :P Viska perskaiciau ir dabar jau normaliai suprantu pcre. :D
Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 1 mėnesio...

Kaip padaryti jog radus neleistinų ženklų mestų klaidą. Žinau jog reikia preg_match() funkciją ir if() sąlygą naudoti, bet nežinau kaip. Leistini simboliai būtų lotyniški skaitmenys(0-9) bei brūkšnys(-).

 

Taip pat norėčiau kaip padaryti jog paėmus rezultatus iš MySQL DB viena eilutė būtų vienam fone, kita kitam ir t.t. Būtų galima pagal ID daryt, lyginiai viena spalva, o nelyginiai kita, bet taip kokį nors ištrinus gali pasitaikyti tokia pat spalva kelis kartus iš eilės.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

if(preg_match("![^a-zA-Z0-9]!", $x)) echo"blogi ženklai";

 

Spėju kad duomenis darai su while tad

 

while($row = mysql_fetch_assoc($sql)){
static $i=0;
$class = ++$i%2==1 ? 'pirma' : 'antra';
echo'<div class='.$class.'>....</div>';
}

 

EDIT, % atitinka paskalio mod, patikrina liekana

Redagavo ziogas
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Ne taip perskaičiau, pagalvojau kad ir raides reik įtraukt :D
Taip, tikrai idomiai parasyta: "lotyniski skaitmenys". Perskaicius "lotyniski" iskart kyla asociacijos su raidemis, kadangi musu skaiciai siaip tai arabiski, o ne lotyniski. ;)

 

Bet, manau, kad pats jau gales pasikoreguoti uzklausa: tarp [ ir ] rasomas zenklas ^, o toliau visos simboliu "aibes" - kaip a-z, A-F ir pan. Atskirus simbolius tiesiog itraukiame juos iterpdami, taciau pries kaikuriuos (kaip kad ir bruksni) reikia deti zenkla \.

Placiau apie simboliu iterpima parasyta sioje temoje siek tiek anksciau. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taip, tikrai idomiai parasyta: "lotyniski skaitmenys". Perskaicius "lotyniski" iskart kyla asociacijos su raidemis, kadangi musu skaiciai siaip tai arabiski, o ne lotyniski. :P

 

Bet, manau, kad pats jau gales pasikoreguoti uzklausa: tarp [ ir ] rasomas zenklas ^, o toliau visos simboliu "aibes" - kaip a-z, A-F ir pan. Atskirus simbolius tiesiog itraukiame juos iterpdami, taciau pries kaikuriuos (kaip kad ir bruksni) reikia deti zenkla \.

Placiau apie simboliu iterpima parasyta sioje temoje siek tiek anksciau. :D

 

Atsiprašau dėl tų lotyniškų skaitmenų, susimaišiau... :P

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 3 savaičių...

code]

$class = ++$i%2==1 ? 'pirma' : 'antra';

[/code]

 

Gal kas gali parašyti šią eilutę su if() ir else, nes tokio optimizuoto kodo nelabai suprantu ir kad išsiaiškinčiau reikia ir paprastąjį variantą pamatyt. :?

 

P.S. Gali būt, kad maišau dėl to if() ir else ir ši eilutė neišreiškiama kaip aš įsivaizduoju, tada būkit geri ir pataisykit mane bei perrašykit kodą į paprastesnę išraišką.

Redagavo Gytis B.
Nuoroda į pranešimą
Dalintis kituose puslapiuose

code]

$class = ++$i%2==1 ? 'pirma' : 'antra';

[/code]

 

Gal kas gali parašyti šią eilutę su if() ir else, nes tokio optimizuoto kodo nelabai suprantu ir kad išsiaiškinčiau reikia ir paprastąjį variantą pamatyt. :?

 

P.S. Gali būt, kad maišau dėl to if() ir else ir ši eilutė neišreiškiama kaip aš įsivaizduoju, tada būkit geri ir pataisykit mane bei perrašykit kodą į paprastesnę išraišką.

Paprasciausiai tai taip:

 

$class = ++$i % 2 == 1;

if ($class) { echo 'pirma'; } else { echo 'antra'; }

 

Tikrina ar $i yra lyginis ir ji padidina vienetu. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 1 mėnesio...

case '1': $operacijos = $_POST['operacijos'];
			   $operacijos2 = ctype_digit($operacijos) ? 'true': 'false'; // patikrina ar įvestas operacijų skaičius susideda iš skaitmenų
			   $pirmas = 1;
			   switch($operacijos2)  {
					   case 'true': echo'<form action="'.$_SERVER['PHP_SELF'].'?s=2&operacijos='.$operacijos.'" method="post">
										 Operandas nr.: <b>'.$pirmas.'</b>:<br/>
										 <input type="text" name="operandas_'.$pirmas.'" value=""/><br/>';
									while($pirmas <= $operacijos)  {  // ciklas atvaizduoti reikiamam operacijos veiksmų kiekiui
											echo'Veiksmas nr.: <b>'.$pirmas.'</b>:<br/>
												 <select name="veiksmas_'.$pirmas.'">
												   <option value ="+">Pridėti</option>
												   <option value ="-">Atimti</option>
												   <option value ="*">Dauginti</option>
												   <option value ="/">Dalinti</option>
												   <option value ="(">Atidaryti skliaustus</option>
												   <option value =")">Uždaryti skliaustus</option>
												 </select><br/>';
											$pirmas++;
											echo'Operandas nr.: <b>'.$pirmas.'</b>:<br/>
												 <input type="text" name="$operandas_'.$pirmas.'" value=""/><br/>';
									}
									echo'<input type="submit" value="Skaičiuoti"/></form><br/>
										 <a href="'.$_SERVER['PHP_SELF'].'">Į pradžią</a>';
									break;
					   case 'false': echo'Operacijų skaičius nurodytas netinkamu formatu. Galima rašyti tik skaičius!<br/>
										  <a href="'.$_SERVER['PHP_SELF'].'">Į pradžią</a>'; break;
			   } break;

 

Kaip matote šis skirtas iš į jį duomenis atsiunčiančio puslapio paima reikiamą veiksmų kiekį, tas kieki yra dinaminis(n). Skriptas surenka(vartotojas įveda į įvesties langelius) n veiksmų ir n+1 operandų. Kaip man visus veiksmus ir operandus su $_POST[] paimti puslapyje į kurį jie perduodami?

 

Kad ir kaip neaiškiai parašiau klausimą, bet tikiuosi kas nors supras ir atsakys :P

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...