Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prikaz sadrzaja txt fajla konkretan problem

[es] :: PHP :: PHP za početnike :: Prikaz sadrzaja txt fajla konkretan problem

[ Pregleda: 1407 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Caki zemljoradnik

Član broj: 298083
Poruke: 13
*.dynamic.isp.telekom.rs.



+7 Profil

icon Prikaz sadrzaja txt fajla konkretan problem26.01.2012. u 14:56 - pre 149 meseci
Pozdrav svima.

Mucim se da resim jedan zadatak al mi nikako ne uspeva.

Kada pokrenem html daje mi polje za upis imena fajla i submit dugme.
Pritiskom na submit dugme se poziva php deo koji otvara taj fajl i prikazuje ga
u originalu. Reci u fajlu pocinju velikim slovima i spojene su kao npr:

'DanasJeNadalPobedioFedereraSaTriPremaJedan.'

Kako da modifikujem kod da bih dobio sledece:

'Danas Je Nadal Pobedio Federera Sa Tri Prema Jedan.'

Znaci treba da razdvojim reci koje pocinju velikim slovom. Ovo sto sam ja
do sad napisao izgleda ovako:


html

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="citanjeVezbanje.php" method="post">
<table border="5">
<tr>
<td>ImeDatoteke:</td>
<td align="center"><input type="text" name="ime" size="20" maxlength="20"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Prikazi"></td>
</tr>
</table>
</form>
</body>
</html>


<!DOCTYPE html>
<?php
$name = $_POST['ime'];
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php

@ $fp = fopen("$DOCUMENT_ROOT/www/../$name.txt", 'rb');
flock($fp, LOCK_SH);
if (!$fp)
{
echo '<p><strong>Pokusajte kasnije.</strong></p>';
exit;
}
while (!feof($fp))
{
$order= fgets($fp, 999);
echo $order.'<br />';
}
flock($fp, LOCK_UN);
fclose($fp);
?>
</body>
</html>



Za rad koristim NetBeans i wamp. Fajlovi su mi smesteni u www folderu.

Probao sam da nadjem na netu ali nije islo. Nasao sam da se kod reci razdvojenih
zarezom koristi 'explode':

$order= fgets($fp, 999);
$podaci = explode("-", $order);
echo $podaci[0].'<br />';
echo $podaci[1].'<br />';
echo $podaci[2].'<br />';
echo $podaci[3].'<br />';

Za ovo moje nisam uspeo da nadjem na netu. Ako neko zna kako se ovo odradjuje bio bih mu
zahvalan na pomoci.
 
Odgovor na temu

plus_minus

Član broj: 289459
Poruke: 2242
*.dynamic.isp.telekom.rs.

Sajt: https://hardcoder.xyz


+2247 Profil

icon Re: Prikaz sadrzaja txt fajla konkretan problem26.01.2012. u 16:03 - pre 149 meseci
Code (php):


$string ='DanasJeNadalPobedioFedereraSaTriPremaJedan.';

$string = preg_replace('/(\w+)([A-Z])/U', '\\1 \\2', $string);

echo $string;

 


Te tri linije koda gore su isto što i ova jedna jedina:

Code (php):

echo preg_replace('/(\w+)([A-Z])/U', '\\1 \\2', 'DanasJeNadalPobedioFedereraSaTriPremaJedan.');
 


:)
about:networking
 
Odgovor na temu

Caki zemljoradnik

Član broj: 298083
Poruke: 13
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: Prikaz sadrzaja txt fajla konkretan problem26.01.2012. u 17:59 - pre 149 meseci
Probao sam, to je to!
Hvala ti.

Malo sam se igrao. Probao sam to isto al sa brojevima. Ubacio sam:

$order= fgets($fp, 999);
$podaci = preg_replace('/(\w+)([0-9])/U', '\\1 \\2', $order);

i dobio:

DanasJeNadalPobedioFederedaSa 3Prema 1.
Ako uradim:

$order= fgets($fp, 999);
$podaci = preg_replace('/(\w+)([A-Z0-9])/U', '\\1 \\2', $order);

dobijem:

Danas Je Nadal Pobedio Federeda Sa 3Prema 1..........brojka i veliko slovo ostanu spojeni

Ako ostavim samo [A-Z] dobijam:

Danas Je Nadal Pobedio Federeda Sa3 Prema1....znaci u nijednoj varijanti ne uspevam da mi i levo
i desno od broja bude prazno.

Sta treba da stavim da bih dobio sledece?:

Danas Je Nadal Pobedio Federeda Sa 3 Prema 1.
 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
*.dynamic.isp.telekom.rs.



+35 Profil

icon Re: Prikaz sadrzaja txt fajla konkretan problem26.01.2012. u 23:44 - pre 149 meseci
Code:

$order= 'DanasJeNadalPobedioFedereraSa3Prema1.';
$podaci = preg_replace('/(\w+)([A-Z])/U', '\\1 \\2', $order);

if(preg_match_all('%[0-9]%',$podaci,$match)) {
    
    foreach($match[0] as $mc){
$podaci=str_replace($mc,  '   '.$mc,$podaci);
    }

}
echo $podaci;


Moze to sigurno bolje, ali i ovo raducka ™.
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Prikaz sadrzaja txt fajla konkretan problem

[ Pregleda: 1407 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.