Autor Zpráva
Werewolf
Profil
Ahoj, chtěl bych se zeptat, jestli se dá v podmínce (if) nějak nahradit libovolný počet znaků např. procenty (%). Tzn: Mám galerii. A když někdo klikne na odkaz na obrázek, chtěl bych zobrazit stránku, kde je pár řádek textu a ten obrázek.
Dělám to pomocí $_GET (main.php?location=imgs&list=n&path=/&img=DSCF4523.JPG).
Jak tedy zapsat podmínku

<?php
if ($location == "imgs") {
... //nepodstatný text
... // zase nepodstatný text
if ($img == "DSCF4523.JPG") { include("rsrc/photo.php"); };
if ($img == "TEN LIBOVOLNý POčET ZNAKů.JPG") { /* nepodstatný text */ };
};
?>


? Předem dík za odpovědi. Werewolf
bohyn
Profil
Werewolf
Tak nejak mi to postrada smysl, ale pokud jede o zjisteni koncovky souboru tak toto:
substr("TEN LIBOVOLNý POčET ZNAKů.JPG", strrpos("TEN LIBOVOLNý POčET ZNAKů.JPG", "."));
Werewolf
Profil
Nechci zjistit koncovku. Jen chci zapsat podmínku:

 /* Pokud je proměnná $img nějaký libovolný počet znaků s koncem ".JPG", udělat to a to... */
if ($img == "něco.JPG") { to a to };
Měsíček
Profil
<?php
  if(!!strripos("soubor.JPG",".JPG")){
    echo "True";
  } else {
    echo "False";
  }
?>
Werewolf
Profil
Měsíček
Díky, zkusím to...
Werewolf
Profil
Měsíček
Díky, Měsíčku... Mno, nechci být nevděčný, ale našel jsem jiný způsob, funguje mi...
bohyn
Profil
Měsíček
Tim jen zjistis jestli retezec obsahuje ".JPG" ale ne to jestli je na konci. "TEN LIBOVOLNý POčET ZNAKů.JPG.php" vyhovi take.
Timy
Profil
Na to stačí regulár, ne? Snad takový: ^(.*)\.jpg$
Timy
Profil
Měsíček
Jaký mají smysl ty dvě negace?
bohyn
Profil
Timy
Na to stačí regulár, ne? Snad takový: ^(.*)\.jpg$
A nebo na to staci substr a strrpos. Tipni si co je rychlejsi

Jaký mají smysl ty dvě negace?
zadny, melo by tam byt:
strripos("soubor.JPG",".JPG") !== false
Timy
Profil
bohyn
A nebo na to staci substr a strrpos. Tipni si co je rychlejsi
Hmm, reguláry asi ne. Zase jsou čitelnější.
wwww
Profil *
a nestačilo by
<?php
if(strripos("soubor.JPG",".JPG")){
echo "True";
} else {
echo "False";
}
?>
?
Měsíček
Profil
V určitých případech ano, ale jsou výjimky kdy je výhodnější kontrolovat pomocí !== false viz dokumentace.



Reaguji na bohyna:

"Tim jen zjistis jestli retezec obsahuje ".JPG" ale ne to jestli je na konci. "TEN LIBOVOLNý POčET ZNAKů.JPG.php" vyhovi take."

Už je mi to jasný :) .. můj příklad byl vedle, omlouvám se.

"A nebo na to staci substr a strrpos. Tipni si co je rychlejsi "

Jelikož se kloubí dvě funkce, možná by zde byl rychlejší [R] výraz.

"zadny, melo by tam byt: "

Podle dokumentace ano.

Reaguji na Timyho:

"Jaký mají smysl ty dvě negace?"

Asi takový jako znak ^ ve tvém [R] výraze :-)
Timy
Profil
Měsíček
Asi takový jako znak ^ ve tvém [R] výraze :-)
No to moc nechápu. Já to jako opravdu nevím, nijak nerýpu :-). Kdy se projeví rozdíl mezi !!strripos a strripos? Nás v matematice učili, že not(not(A)) = A.
Alphard
Profil
Timy
IMHO myšleno tak, že ^ je také k ničemu, když ho následuje (.*)
Timy
Profil
Alphard
Aha, takhle :-). No jo, já to tam strkám ze zvyku.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: