Newsgroup: it.comp.www.php
Titolo: Problemone con Espressioni regolari....

Ciao :-)
come al solito mi affido a voi guru quando incomincio
a sbattere la crapa contro il muro..
problemino:
ho una stringa fatta così:
NOL&#0; &#0;Þ&#0; &#0;H&#0; &#0; &#0; &#0;\&#0;00000000000011111111111111111
1111111100000000000000000000000000000000000000000000111111000000000000011110
0vdfrhgnfgnfgt
la parte prima degli 00101100 naturalmente non è binaria .... e la vorrei
eliminare,
ed uso questa espressione reg. (fatta in casa da me medesimo e si vede!! mi
sa che fa ribrezzo):
eregi("([0-1].+[^a-zA-Z])([0-1$])", $filestring, $array)
Solo che su file di test normali del tipo:
cjhsdgcfjas010110111001101sdfdfasdfasdfsdfsdfgher
tutto OK,
quando vado a fare la stessa cosa sul file .nol ( un formato usato sulle
suonerie dei cell...)(una specie di BMP)
non mi vede + i caratteri dopo la scritta NOL.
In effetti ho riportato la stringa copiata e incollata da WordPad, perchè
altri editor non mi visualizzazo nulla.
ho provato anche con  Ultraedit che mi da:
NOL..Ô....H.....
..S.0000000000
0000000000000 e di seguito tutti 0 e 1 ...
Avete qualche idea in proposito?
Ciao e grazie mille!!
-- Yena --

 sa che fa ribrezzo):
Non sarebbe meglio capire cosa significa il header? Cosi lo potresti anche
usare come informazione.
Non conosco il formato di questo header, ma potrebbe essere che i dati
significativi comminciano sempre alla stessa posizione (a questo punto basta
un substr), oppure da una posizione indicata subito all'inizio (lunghezza
header). Se vuoi manda un esempio di un .NOL in private...
Se no: se giri la stringa al contrario, cerchi il primo carattere non ascii,
tagli la stringa e regiri il tutto?

 ha scritto nel
messaggio news:cW5Q7.257593$sq5.12...@news.infostrada.it...


 0vdfrhgnfgnfgt
Arabo, eh?
Ho un po' esperimentato (solo xke' ho un Nokia) e questo dovrebbe funzionare
bene per la lettura dei file formato NOL (Nokia Operator Logo):
Ti crea una tabella che rappresenta il logo, lo potresti mettere in un
include (per quello non ci sono HTML, BODY
<?
/* written by Jurgen Schwietering, and hereby donated to the public domain
 */
$sourceFile="78.nol";
$fp=fopen($sourceFile, "rb");
$header = fread($fp, 20); // salta header
$data = fread($fp, 1008); // leggi matrice dati
fclose($fp);
$w=72; // larghezza del logo
$h=14; // altezza del logo (fa 1008 byte)
echo "<TABLE bordercolor=#000000 border=1 cellspacing=0
cellpadding=1><TR><TD>";
echo "<TABLE border=0 cellspacing=0 cellpadding=0>";
for ($y=0; $y < $h; $y++) {
        echo "<TR>";
        for ($x=0; $x < $w; $x++) {
                if ($data{$x+$y*$w}=='0') // cella e' bianca ?
                        echo "<TD width=4 height=4 bgcolor=#CCFFCC> </TD>";
                else
                        echo "<TD width=4 height=4 bgcolor=#003300> </TD>";
        }
        echo "</TR>\n";
}
echo "</TABLE>";
echo "</TR></TABLE>";
?>

 ha scritto nel
messaggio news:xxpQ7.263612$sq5.12...@news.infostrada.it...


 ha scritto nel messaggio
news:IRjR7.2233$Yj1....@news2.tin.it...


 ps. mo provo a generare un png con le GD ...o un BMP..
Sicurmente meglio! Penso che arrivi a neanche un 1k con un PNG (BMP non
sarebbe una decisione felice).
Per il PNG deve scambiare nel codice le parti per la grafica. Controlla se
hai la GD installata.

 ha scritto nel
messaggio news:jxmR7.282942$sq5.13...@news.infostrada.it...


    if(!isset($i))    $i=0;
e problematico. Se usavi prima $i in una altra parte del programma avra' un
valore non desiderato.
Quindi dovresti settarla prima:
$i=0;
for($y=0; $y<=13; $y++)
Oppure (meno leggibile):
for($y=0,$i=0; $y<=13; $y++)
Non dovresti usare w,h come variabili per la matrice, di solito si usa in
questo caso x e y (w e h si usano di solito per le costanti di larghezza ed
altezza). Cmq. non e' sbagliato come sintassi (solo un problema di semantica
quando qualcun'altro legge il programma).
Ti serve ancora la matrice che stai creando con $pixel[][]? Se no mi sembra
uno sprecco di creare questi valori senza utilizzarlo ancora un altra
volta...

 ha scritto nel
messaggio news:6qqR7.284201$sq5.13...@news.infostrada.it...



Se sa fare un buon piatto...