Avatar billede janbb Juniormester
04. maj 2004 - 14:13 Der er 13 kommentarer og
1 løsning

tekstfil til String

Hvis jeg har taget en tekstfil 'ind' med teadfile(jans.txt)
og gerne vil lege lidt med formateringen af teksten mhp et pænt output (i virkeligheden prøver jeg at få lavet linieskift aut.)- er jeg nødt til at lave teksten om til en streng.Det er nok ikke særlig vanskeligt men... hvis der er en der lige har det 'i ærmet' ville jeg være glad.
Avatar billede janbb Juniormester
04. maj 2004 - 14:22 #1
Saa nemlig denne programstump et sted:

$izvestaj = "Test\n    Of spaces\n and    line breaks\n  .";
// 1st Replace all spaces with  
// 2nd use nl2br() to add the HTML <BR> before any newlines
echo nl2br(str_replace(" ", "&nbsp;", $izvestaj));

men har ikke fundet ud af endnu hvordan jeg skal få '\n' placeret.
Sikkert et håbløst project ?
Avatar billede janbb Juniormester
04. maj 2004 - 14:28 #2
Hvis man i stedet bruger rtf-formatet (jans.rtf) ved jeg at linieskift formateres som '\par' og man kunne saa måske lave en slags 'udskiftning' af \par og \n -
hvis en 'ekspert' har iddeer til hele problemløsningen forhøjer jeg gerne pointsene :).
Avatar billede -xyz- Nybegynder
04. maj 2004 - 14:56 #3
$trans = array("\n" => "<br>", "\par" => "<br>", " " => "&nbsp;");
echo strtr($string, $trans);

Denne erstatter både \par og \n med <br> og space med &nbsp;, hvis det er det du vil... du kan selvfølge lig osse bare ændre i arrayet...
Avatar billede janbb Juniormester
04. maj 2004 - 15:14 #4
Jeg er nybeg. mht PHP, men har lavet noget Delphi.
Det du har svaret på var det 'svære' og jeg skal selv prøve om det virker .

Jeg mangler 'bare' at få lavet min fil om til $string.

Har en tekstfil jeg gemmer i wordpad som jans.rtf - derefter renamer jeg den til jans.htm og får det her output (lidt rodet må du undskylde mig):

{\rtf1\ansi\ansicpg1252\deff0\deflang1030{\fonttbl{\f0\fswiss\fcharset0 Arial;}} \viewkind4\uc1\pard\f0\fs20
FORM:

\par
\par <FORM name=login action="myfile.php" METHOD=POST>
\par file-nr:
\par <input type=text name=brugernavn>
\par \par <input type=submit value= "log on"> \par \par



--------------------------------------------------------------------------------
\par <?php
\par if (isset ($_POST['brugernavn']) && $_POST['brugernavn'] == "11")
\par \{\par \par echo "meget underholdende kode eksp.dk/spm/495021";\par \par \par \par \par \}
\par \par else if (isset ($_POST['brugernavn']) && $_POST['brugernavn'] == "12")
\par \{\par readfile("./myfile.txt"); \par \par \}
\par else\par \{\par echo "brugernavn ikke lig med test";\par \par \}\par ?>\par }

og det er så tilfældigvis i dette tilfælde (næsten - har ændret lidt) en
udkrift af den programstump, der henter filen:

<?php
if (empty ($_POST['brugernavn']) == false && $_POST['brugernavn'] ==

"test")
{
  // header ("Location: nylogin.php");
readfile("./jans.htm");
}

if (empty ($_POST['brugernavn']) == false && $_POST['brugernavn'] ==

"12")
{echo "brugernavn ikke lig med test";}


?>
<html>
<head>
<title>Dokument</title>
</head>

<body>

<form action="<?= $_SERVER['PHP_SELF']; ?>" method="post">
Brugernavn: <input name="brugernavn" type="text" value="">
<input name="login" type="submit"" value="">
</form>

</body>
</html>

_____________________________________________________________

og jeg skal for at komme videre lave jans.htm om til $String
Avatar billede janbb Juniormester
04. maj 2004 - 15:26 #5
Men man kan måske bare skrive :

readfile(jans.htm)==$String;

eller skal det vendes om:
$String == readfile(jans.htm);
Avatar billede janbb Juniormester
04. maj 2004 - 15:45 #6
prøvede dette:

readfile("./jans.htm")== $String;
$trans = array("\n" => "<br>", "\par" => "<br>", " " => "&nbsp;");
echo strtr($string, $trans);

men det gik ikke lige fik ikke tekstfilen lavet til en streng.
Er der ikke en slag 'mellemstations'-'kasse' man kan putte resultatet
af readfile ind i ?

Notice: Undefined variable: String in h:\\\\array.php on line 5

Notice: Undefined variable: string in h:\\\\array.php  on line 7
Avatar billede janbb Juniormester
04. maj 2004 - 15:53 #7
Hvis jeg nøjes med eet lighedstegn (hvilket jo nok er mere relevant)
forsvinder fejlmeddelserne, men
\par bliver stadig udskrevet.
Avatar billede janbb Juniormester
04. maj 2004 - 16:01 #8
Kan man bruge

echo nl2br(str_replace("\par ", "\n;", $string));

?
Avatar billede janbb Juniormester
04. maj 2004 - 16:04 #9
det ku man ikke
Avatar billede janbb Juniormester
04. maj 2004 - 16:15 #10
$string = readfile("./jans.htm") ;
echo nl2br(str_replace("\par ", "<br>;", $string));

prøvede osse dette uden held

men strengen bliver taget ind kan jeg se.
-xyz-
Du får lige pointsene eftersom spørsmålet skal omformuleres

Ved ikke hvorfor jeg ikke kan få dit eksempel til at virke måske gør jeg noget forkert.
Avatar billede -xyz- Nybegynder
05. maj 2004 - 00:12 #11
$string = readfile("./jans.htm")
$trans = array("\n" => "<br>", "\par" => "<br>", " " => "&nbsp;");
echo strtr($string, $trans);

Den skal se sådan ud, det er fordi at PHP's variabler er casesensitive, og du havde skrevet $String i stedet for $string...
ovenstående burde virke...
Avatar billede -xyz- Nybegynder
05. maj 2004 - 00:12 #12
$string = readfile("./jans.htm");
$trans = array("\n" => "<br>", "\par" => "<br>", " " => "&nbsp;");
echo strtr($string, $trans);

Sådan, manglede et ";"
Avatar billede janbb Juniormester
05. maj 2004 - 01:02 #13
Det virker desværre ikke hos mig.Havde prøvet at skrive string med lille s .)
<?php
// Søg efter \par og erstat med <BR>
$string=readfile("./jans.htm") ;
$trans = array("\n" => "<br>", "\par" => "<br>", " " => "&nbsp;");
echo strtr($string, $trans);
?>
Har osse prøvet forskellig andet, men har opgivet et stykke tid, da jeg nok må finde en metode jeg bedre kan forstå - er helt urutineret i PHP .)
Avatar billede janbb Juniormester
05. maj 2004 - 01:30 #14
Har osse haft mine kampe med problemet i Delphi-programmer.
Her er det nemmere fordi man tager filen ind i et såkaldt
memofelt:
Du skal sætte et </br> efter hver linie i dit memofelt.

din_variabel := StringReplace(det_memo_felt.text, #13#10, '</br', [rfReplaceAll]);

herefter indsætter din_variabel hvor du vil have udskrevet din html kode

Stoney

http://www.eksperten.dk/spm/416037
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester