nebo tak, prvne bych si porovnall, zda je encodovany text delsi nez max. A kdyz jo, orezal bych jej a resil posledni & znak od konce, jak je daleko. V opacnem pripade neni treba nic resit.
Příspěvky odeslané z IP adresy 2001:718:2601:258:2df3:5c6:3f2d:e38f...–
Ja bych uvazoval prave i delku entity na konci. Co kdyz pujde o entitu na zacatku stringu a pozdeji uz nee? Tak smazes cely string? :)
Pro sledovani pc site u nas pouzivame zabbix. Resi datove toky i teplotni senzory. Pradepodobne by si poradil i s tvymi daty.
Osobne jsem nic takoveho neresil. Mam tu program v js na otevirani csv souboru a vypsani do tabulky a zpetny export do csv vybranych radku. Jestli by ti to bylo k necemu dobre...
V js se pouzivaji tyto zapisy:
<script> --- netestovano
// zapis stringu
str = 'text';
str = "text";
str = `text`;
str = 'te\
xt';
str = "te\
xt";
str = `te
xt`
// json
out = JSON.stringify(str)
out = JSON.parse(str)
// osizene csv
out = [];
rows = str.split("\n");
end = rows.length;
for (i=0; i<end; i++)
out[i] = rows[i].split(';');
// pole
arr = [0, 1, 2, 3];
arr[0] = 4; // [4, 1, 2, 3];
list = {a:0, b:1, c:2}
list = {'a':0, 'b':1, 'c':2}
list['a'] = 3 // {a:3, b: 1, c:2}
list.a = 3 // to je mozne pouzit, kdyz mas klice prvni znak a-z a dalsi a-z0-9
// kombinace poli
list = {}
list.pondeli = [1,2,3];
list.utery = [1,2,3];
list = {
pondeli: [1,2,3],
utery: [1,2,3]
}
list = {
'22.2.2008': [1,2,3],
'23.2.2008': [4,5,6]
}
alert(list['22.2.2008'][2]) // 3 (index je 2 (pozice v ciselnem polis e cisluje od 0) a na druhem miste je hodnota 3 [x,x,3])
list = {
'2008': {
'2': {
'22': [1,2,3],
'23': [4,5,6]
},
'3': {
'22': [7,8,9],
'23': [10,11,12]
}
}
'2009': {}
}
alert(list['2008']['2']['23']) // [4,5,6]
arr = [
[1,2,3],
[4,5,6]
]
str = "\
1;2;3\n\
4;5;6\n\
";
out = [];
rows = str.split("\n");
end = rows.length;
for (i=0; i<end; i++)
out[i] = rows[i].split(';');
alert(out[1][2]) // 6
</script>
jo, hele, a co to tam vidim, jeste?
$str = htmlspecialchars($str);
$str1024 = substr($str, 0, 1024);
No, to neni uplne jiste, jaky bude vysledek... Oni tam muzou mit i kontrolu html a entita, ktere chybi posledni 3 znaky muze byt povazovava na chybu, text, ktery neni html. Nevim, zda je to resitelny problem, ale muzes zkusit tu entitu odstranit.
strrpos('&') + substring, najit posledni & znak a zkratit text, pokud ten znak od konce neni dal nez 10 znaku (nejsem si ted jisty, jak dlouhe muzou byt entity, lze pouzit hex, dec a textovy zapis jako arrow, nbsp nebo #x32)
"Výsledek vypadá nějak takto:"
To je celkem nedostatecne, kdyz nelze zparovat text chyby s textem v ukazce html kodu, protoze to nemas cele :)
obvykle funguje htmlspecialchar. Nekdy je treba zahrnout do toho i uvozovky ' ". Jindy je treba pouzit url encode. Informace k formatu poskytuje ten, co prijima to xml. Tam je napsane, jakym zpusobem se maji tagove znacky resit. Protoze amateri velkych firem neumi pouzit standard a jeho pravidla a pouzivaji jakousi svou ohackovanou pseudoverzi zplacanou narychlo pro sve potreby :)