Autor Zpráva
Werewolf
Profil
Ahoj, teď jsem poradil stepance (a ta nevděčnice mi to řešení hodila na nohu, že už má svoje).
Ale co je důležité (fuckine), v kódu jsem měl headery s redirectem, jejichž adresa za Location: začínala na http://.

Takže tam byl odkaz na google, který vedl na http://www.google.cz/") (teď už jsem to opravil).

Nešla by tomu nasadit plomba, aby se ") nebo " ) v kódu nevkládalo do odkazu?
Str4wberry
Profil
Taková plomba už je. Akorát hlídá jen poslední znak, v tomto případě středník.
Werewolf
Profil
Str4wberry:
O té jsem nevěděl. Mohla by hlídat i uvozovky, popř. apostrofy?
Str4wberry
Profil
Hlídá tyto znaky:
		$last_char = substr($word,-1);
		if(in_array($last_char,array('.',',',':',';',')','"',''))){
			$word = substr($word,0,-1);
			$append_char = $last_char;
						
		}else{
			$append_char = null;
		}
Tím odfiltrovala středník a na závorku a lomítko se nedostalo.
Werewolf
Profil
Str4wberry:
Šlo by to upravit? Třeba takto jednoduše:
        $last_char = substr($word,-1);
        while(in_array($last_char,array('.',',',':',';',')','"','\''))){
            $word = substr($word,0,-1);
            $append_char = $last_char;
                        
        }else{
            $append_char = null;
        }
Chamurappi
Profil
Reaguji na Str4wberryho:
V djpw.js používá chytrá funkce na vytváření odkazů tento regulární výraz:
/https?\:\/\/(?:["‚„“‘\)\.…,:;]*[^\s"‚„“‘\)\.…,:;]+)+/gi
Pokud za uvedenými znaky (nezáleží na počtu) je mezera (nebo konec), neberou se jako součást adresy. Takže kdyby Werewolf v uváděném případě najel na adresu a zmáčknul Ctrl+K, vyrobil by se odkaz správně. (Snad.)

Ale ani takovéto řešení by na straně serveru nebylo dokonalé, protože nepostihuje docela častý jev, kdy je adresa na konci citovaného textu a leží za ní [/i]“.
Příklad: „Hurá na www.google.cn[/i]“; … a kurzíva je teď nezavřená.
Str4wberry
Profil
Reakce na Werewolfa:
Šlo by to upravit? Třeba takto jednoduše:
Pokud si chceme dosytosti užít parse errorů, tak ano. :–)

Ta funkce se musí přepsat. Vytvořit převádění textu na odkazy pomocí explode a substr je sice zajímavé, ale ne dvakrát praktické. Autorům to asi došlo — a v novějších verzích používají regulární výrazy. Ve verzi 2.1 je docela krátký a jednoduchý a alespoň opravuje požírání BB značek. V poslední verzi už má funkce pro dělání odkazů zase svých 60 řádků a v Tebou demonstrované problematické situaci selhala úplně.
Werewolf
Profil
Str4wberry:
Jakých parse errorů? Doufám, že jsi myslel "Úprava zúůsobí parse errory" a ne "V té úpravě je parse error". A nedělej na mě dlouhý nos.

A vůbec, proč se diskuse nepřeinstaluje na 2.x?
Str4wberry
Profil
Jakých parse errorů?
Zkus si ten kód, který poslals, spustit.

A vůbec, proč se diskuse nepřeinstaluje na 2.x?
Protože bychom tím nic moc nezískali.
Chamurappi
Profil
Reaguji na Werewolfa:
proč se diskuse nepřeinstaluje na 2.x?
Přejít z vydatně vylepšeného bastlu 1.7 na nevylepšený bastl 2.x by něčemu pomohlo?
Werewolf
Profil
Str4wberry:
No dobře...

Chamurappi:
To asi ne... Pravda.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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