Autor | Zpráva | ||
---|---|---|---|
VelkýBubák Profil |
Mám script na alespoň rámcové ověření adres pro fb, z DB se načte adresa (např. 'https://www.facebook.com/velky.pako', 'http://www.facebook.com/profile.php?id=17089591', 'Strevo','www.facebook.com/pako.pako'), prohledá se zda tam nejsou nepravděpodobné znaky a slova, a u těch co projdou se na konci pokusí doplnit adresu, pomocí
if ((substr_count($po, 'http://'==0)) and (substr_count($po, 'https://'==0)) and (substr_count($po, 'facebook.com'==1))) { echo "<span class='varovani_18'>1: </span> substr_count($po, 'http://') = ".substr_count($po, 'http://').", substr_count($po, 'https://') = ".substr_count($po, 'https://').", substr_count($po, 'facebook.com') = ".substr_count($po, 'facebook.com')."<br>"; //ověření kudy se cesta ubírá $po = "http://".$po; } if ((substr_count($po, 'http://'==0)) and (substr_count($po, 'https://'==0)) and (substr_count($po, 'facebook.com'==0))) { echo "<span class='varovani_18'>2: </span> substr_count($po, 'http://') = ".substr_count($po, 'http://').", substr_count($po, 'https://') = ".substr_count($po, 'https://').", substr_count($po, 'facebook.com') = ".substr_count($po, 'facebook.com')."<br>"; $po = "http://www.facebook.com/".$po; } 1) příklad s https:// /* OK - neprojde ani jednou podmínkou */
2) příklad s http:// /* 2: substr_count(http://www.facebook.com/profile.php?id=17089591, 'http://') = 1, substr_count(http://www.facebook.com/profile.php?id=17089591, 'https://') = 0, substr_count(http://www.facebook.com/profile.php?id=17089591, 'facebook.com') = 1 Výsledek: http://www.facebook.com/http://www.facebook.com/profile.php?id=17089591*/ /* KO - neprojde ani jednou podmínkou*/
4) příklad bez https:// nebo http:// /* KO - neprojde ani jednou podmínkou*/
nepředpokládám že by chyba byla přímo substr_count, protože podmínky co mám nad tím typu if (substr_count($po, 'emám')>0) $chyba++; fungují dobře
|
||
mimochodec Profil |
#2 · Zasláno: 14. 5. 2015, 17:55:27
Já tomu nerozumím. Můžeš to napsat ještě jednou a pomaleji, abych pochopil, co od toho chceš a co to skutečně dělá, a případně učesat ten kód, aby se v tom dalo vyznat?
|
||
VelkýBubák Profil |
#3 · Zasláno: 14. 5. 2015, 18:32:10
mimochodec:
* Vytáhnu si z db záznam (resp. adresu) * proberu to sítem a ty co se mi nelíbí vypustím, a jsou čtyři dejme tomu formáty výstupu, s nimiž pak pracuji, a to: ** adresa začínající na https:// - tam chci, aby se neměnilo - a skutečnost taková je ** adresa začínající na http:// - tam chci, aby se neměnilo - a skutečnost taková není a na začátek se přidává http://www.facebook.com/ ** adresa bez http://, nebo https:// - tam chci, aby se na začátku přidalo http:// - a skutečnost taková není, adresa zůstane beze změny ** nějaké slovo - tam chci, aby se na začátku přidalo http://www.facebook.com/ - a skutečnost taková není, adresa zůstane beze změny (doufán že je to srozumitelnější) a teď ke kódu, nechápu proč v tomto tvaru nefunguje //adresa ... $po /*první tři podmínky, aneb pokud v adrese není http:// a zároveň není https:// a je jednou facebook.com, pak by se podle mě měl provést příkaz v závorkách {}, nicméně pokud to takto zřetězím, proste to tak nefunguje*/ if ((substr_count($po, 'http://'==0) and (substr_count($po, 'https://'==0) and (substr_count($po, 'facebook.com'==1)) //aha, já *píp* měl blbě závorky ... nikoliv tedy něco jako (substr_count($po, 'facebook.com'==1)) ale (substr_count($po, 'facebook.com')==1) |
||
mimochodec Profil |
#4 · Zasláno: 14. 5. 2015, 18:44:04
VelkýBubák:
Jen ještě doplním, že by se to mnohem líp dešifrovalo, kdybys jednotlivé varianty substr_count($po, 'http://') načetl do proměnných a pak místo opakování pracoval s nimi.
|
||
Časová prodleva: 9 let
|
0