Predlošci, web design, web standardi > PHP/JS programiranje

substr() ne radi ispravno ...

(1/2) > >>

erbi:
Evo, opet mi nešto ne ide...

Imam datoteku datoteka.txt i ovaj kod:

--- Kod: ---<?php
$file = file(getcwd() . "/datoteka.txt");
foreach($file as $f) {echo substr($f,12,8) . " - " . substr($f,21) . "<br />"; }
?>

--- Kraj koda ---

i echo umjesto:

--- Kod: ---00:00:27 - Linija 1
00:01:25 - Linija 2
00:04:30 - Linija 2
00:07:32 - Linija 3

--- Kraj koda ---

Pokazuje ovo:

--- Kod: ---19 00:00 - 27 Linija 1
00:01:25 - Linija 2
00:04:30 - Linija 2
00:07:32 - Linija 3

--- Kraj koda ---

Šta je ovo? >:D >:D >:D

Dario:
Nije problem u substr, nego datoteka na početku ima "dodatnih znakova"... Nakon kaj ni vrag nije dal mira, ja to sve skinul idem probat napravit iconv text-a iz datoteke...
I evo prve linije :)

--- Kod: ---01-Aug-2019 00:00:27 Linija 1

--- Kraj koda ---

Ali ako složiš kod ovak, sve je ok ;)


--- Kod: ---<?php
$file = file(getcwd() . "/datoteka.txt");
foreach ($file as $fKey => $f) {
$text = preg_replace('/[^a-zA-Z0-9\s-:]/', '', $f);
echo substr($text, 12, 8) . " - " . substr($text, 21) . "<br />";
}
?>

--- Kraj koda ---

P.S. pazi samo na regex, ovaj trenutni izbacuje sve znakove koji nisu slova, brojke, razmak, ":" i "-"....
Probaj testirat naša slova (šđčćž) pa ih eventualno dodaš u regex ako ima potrebe....

erbi:
Hvala Dario!

Neznam zašto se ovo dogada?? Kod je ovakav:

--- Kod: ---<?php
$inputString = file_get_contents('datoteka.txt');
echo $inputString;  // Ovdje nema ovih znakova

$test1 = iconv('Windows-1250', 'UTF-8', $inputString);
echo $test1;    // Ovdje nema ovih znakova

$pret = 'newdat.txt';

$fhh = fopen($pret, 'a') or die("Error");

//$stringUTF8 = "\xEF\xBB\xBF"; // koda za utf-8
//fwrite($fhh, $stringUTF8);
fwrite($fhh, $test1);
fclose($fhh);
?>

--- Kraj koda ---

a kad sad echo newdat.txt su na početku ovi znakovi

Dario:
Mislim da se tu na početku radi o nekakvom BOM (Byte Order Mark) zapisu, ali nisam 100% ziher....

Uglavnom ne vidiš znak jer nije namjenjen da ga vidiš, ali kad konvertiraš u drugu kodnu stranicu - ispliva van

erbi:
OK, budem sa preg_replace. Nadam se, da ga skužim. Do sada ga nisam.

Hvala još jednom

Navigacija

[0] Lista Poruka

[#] Slijedeća stranica

Idi na punu verziju