ugrás a tartalomhoz

String keresés

Danci · 2005. Jún. 1. (Sze), 22.31
Hello!

Azt szeretném megkérdezni, hogy mi az a függvény, amivel egy string sorozatban tudok keresni egy karaktert (például levizsgálni, hogy egy feltöltendő file nevében van-e space)? (Ha egy példát is írnátok, akkor nagyon megköszönném!)
És lenne itt még 1 kérdésem: Miért nem működik egy ingyenes tárhelyen az eregi függvény? Ilyen formában van:

if (($_POST[reg_submit]) && !eregi('^<>?$',$_POST[valami]){
...
}

És ekkor nem megy bele a feltétel igaz ágába, pedig a 'valami' nevű input mezőbe nem írok tiltott karaktert. Miért lehet ez?
 
1

PHP Manual

bbalint · 2005. Jún. 1. (Sze), 23.29
strstr() és strpos()

továbbá, sima reguláris kifejezéshez én nem értek; PHP Manu. is inkább a PCRE-t ajánlja

<?php
 $jó = 'ez egy jó';
 $rossz = 'írok bele <html>, mer\' úgy néz ki, azt akarsz kiszűrni';
 $mitnemszabad = '<>';
 
 if(preg_match('/['.preg_quote($mitnemszabad, '/').']+/', $jó))
  print('Ezek a karakterek tiltottak: '.$mitnemszabad.', írj be vmi mást');
 elseif(preg_match('/['.preg_quote($mitnemszabad, '/').']+/', $rossz))
  print('Ezek a karakterek tiltottak: '.$mitnemszabad.', írj be vmi mást');
bbalint
2

keresés

VBala · 2005. Jún. 1. (Sze), 23.38
strstr : http://hu.php.net/manual/hu/function.strstr.php
if(strstr($_FILES["fajl"]["name"])," ") {
echo "van benne space";
}

A másiknál nem tudom pontosan mi a hiba, de:
- a tömb kulcsait tedd inkább idézőjelbe, mert azok stringek (ha csak nem definiáltál előtte ilyen nevű konstansokat)
- ha eregi()-vel egyes karakterekre akarsz vizsgálni, nem pedig a "<>" stringre, akkor egy karakterosztályba kell tenni őket:
eregi("[<>]",$_POST["valami"])
- ha elejére-végére közvetlenül ^ és $ jeleket teszel, az azt okozza, hogy teljes egyezést fog vizsgálni, mivel azt mondod neki, hogy a legelején kell illeszkedni a mintának, és utána egyből string vége
3

Köszönet!

Danci · 2005. Jún. 2. (Cs), 01.48
Köszi, az strstr() függvény pont jó lett arra, amit én akartam és azt használom most az eregi() helyett is, igaz nagyon gagyin néz ki ez a rengeteg sor, de legalább működik!
Köszi még1x!
------------------------------------------------------------------

Mindenki a hegytetőn akar élni, anélkül hogy tudná, hogy a boldogság a meredély megmászásában rejlik...
4

figyelj kicsit

Őry Máté · 2005. Jún. 2. (Cs), 07.48
if (($_POST[reg_submit]) && !eregi('^<>?$',$_POST[valami]){
akkor nem lesz (true == $_POST['reg_submit']), ha nem a submit gombra kattintott a user, hanem entert nyomott.
Maat
5

hogyan is kell?

Danci · 2005. Jún. 2. (Cs), 09.23
Értem, hogy mit mondasz, bár nem ez volt a kérdés, azért köszönöm az észrevételt. Akkor visszont lenne egy kérdésem: Mi az a függvény, ami visszaadja egy karakter ASCII kódját? És mi az a függvény, amivel vizsgálni tudom, hogy leütötte-e az Entert?

------------------------------------------------------------------

Mindenki a hegytetőn akar élni, anélkül hogy tudná, hogy a boldogság a meredély megmászásában rejlik...
6

doksi rulz

Őry Máté · 2005. Jún. 2. (Cs), 09.41
http://hu2.php.net/ord
http://hu2.php.net/isset és valamelyik input elemre vizsgálsz
Maat