Oppure

Loading
24/02/17 14:47
domenico_rizzo
@kyme su quel codice effettivamente funziona ma sul mio file (che contiene dati sensibili e quindi non posso farvelo mostrare) non mi stampa nulla praticamente :d

@Roby94 ora vi metto il mio codice e il risultato che produce (mascherando i dati)
$rows = file("$tableName.txt");
		echo "<html><head> <style>
			body {
				margin: 10;
			}
			div, pre {
				white-space: nowrap; // will prevent the default wrapping of text to next line
				overflow-x: auto;
				width: 100vw;
				height: 100vh;
			}
			h3{display: inline;} 
			.no{color: red;} 
			.ok{color: green;}</style></head><body><pre>";
		for($i = 0; $i < count($rows); $i++) {
			$row = trim(str_replace('<br>', '$', $rows[$i]));
			$lastCh = mb_substr($row, -1);
			//echo '$row <span class='no'> [$lastCh]</span><br>';
			if ( strcmp($lastCh, '\'') != 0){
				$k = 0;
				for($j = $i + 1; $j < count($rows); $j++){
					$tempRow = trim($rows[$j]);
					$lastChRow = mb_substr($tempRow, -1);
					//echo '[$tempRow] [$lastChRow]<br>';
					if ( strcmp($lastChRow, "\"") != 0){
						//echo 'entrato<br>';
						$row .= ($tempRow . "<br>");
						$k++;
					}
					else{
						$row = trim($row);
						$row .= "$";
						$i += $k;
						break;
					}
				}
			}
					$row = str_replace(array("\n\r", "\n", "\r"), "", $row);
			echo "<span class='ok'>$row</span>-----------------<br>";
		}
		echo '</pre></body></html>';

P.S. Screenshot del risultato in allegato

Ogni riga dovrebbe iniziare dal segno arancione e finire al cancelletto rosso { quello prima del successivo segno arancione } ma come vedete sballa completamente sulle righe con i ritorni a capo. Come dovrei correggere il codice sopra?
Ultima modifica effettuata da domenico_rizzo 24/02/17 14:52
aaa
24/02/17 17:21
TheDarkJuster
Secondo me ti conviene davvero usare le regex perché con cicli annidati risolvi la settimana dei due giovedì.

Oppure ti crei una classe che legge carattere per carattere e mantiene uno "stato" ovvero sa cosa sta leggendo....

Mettere tutto in una unica funzione è suicidio.
aaa
24/02/17 18:00
domenico_rizzo
@TheDarkJuster Dici? D:
Mhm allora opto per i regex.. conosci per caso una guida fatta bene (preferibilmente in italiano)?
aaa
25/02/17 12:47
TheDarkJuster
Non saprei proprio consigliarti un libro sulle regex....
aaa
25/02/17 14:47
lumo
Io userei il metodo consigliato da Roby perché una regex così lunga è difficile da mantenere. Appena ho tempo provo a guardare il tuo codice.
aaa
26/02/17 1:58
TheDarkJuster
Puoi scrivere una classe che generi la regex così da rendere il tutto più mantenibile...
aaa