enter in een shell?

Pagina: 1
Acties:
  • 39 views sinds 30-01-2008

  • Marc
  • Registratie: November 2001
  • Laatst online: 01-12-2021
hoi.
ik maak gebruik van een systeemaanroep in php dmv bijv:
$result = `ls /`;
nu krijg ik het resultaat wel in $result, maar wel zonder enters.
Simpel, zou je denken:
echo str_replace('\n', "<br>", $result);

alleen dit werkt niet.
weet iemand hoe ik de enters in de shell omgezet krijg in <br>-etjes?

(misschien handig, ik doe dit onder linux, slackware 8.1)

  • RammY
  • Registratie: Oktober 2001
  • Laatst online: 20-05 01:44

RammY

Dát!

was dat niet /b ?? of \b.... kweenie meer...

Deze advertentieplaats is te huur!


  • Marc
  • Registratie: November 2001
  • Laatst online: 01-12-2021
zowel /b als \b werkt hier niet.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:03
Manual: nl2br.

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
http://www.php.net/nl2br


edit:
* HunterPro aait soultaker :P

overigens is't dus \r\n of omgekeerd als je 't met str_ dingen wilt doen

trouwens leuk, van die [PHP] dingen in je topictitel, dat heeft je topicstart flink duidelijk gemaakt.

[ Voor 113% gewijzigd door HunterPro op 08-12-2003 00:33 ]


Verwijderd

\b is Beep, dat wil je niet.

De 'grap' met backticks is dat ze inderdaad het resultaat zonder enters teruggeven, dat gebeurt ook als je deze in bash gebruikt. Je zult dus een andere manier moeten zoeken om de uitvoer van het programma te capturen.

  • Marc
  • Registratie: November 2001
  • Laatst online: 01-12-2021
tnx wumpus.
nl2br zou ook niet werken, want die vervangt \n met <br />, en zoals ik al getest had, zaten er geen \n-tekens in.

edit: naar mijn mening is dit geen 100% php, het gaat over hoe een shell een enter returned..

[ Voor 30% gewijzigd door Marc op 08-12-2003 00:38 ]


  • Sendy
  • Registratie: September 2001
  • Niet online
Gebruik system() om het commando uit te voeren. Dan nl2br().

Aaiii helaas, dat lijkt het ook niet te zijn, nu ik de php handleiding lees... :(

Maar exec() doet het misschien wel goed :)

[ Voor 64% gewijzigd door Sendy op 08-12-2003 00:41 ]


  • Marc
  • Registratie: November 2001
  • Laatst online: 01-12-2021
exec() geeft volgens mij alleen de laatste regel terug... maar ik zal wel even gaan proberen

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
ik heb al vaker systemcommands met nl2br naar html omgezet; werkt perfect. Ik weet niet wat je prutst als dat niet wil.

edit:

PHP:
1
2
3
<?php
echo nl2br(`ls -la`);
?>


levert dit op:

code:
1
2
3
4
5
6
7
8
total 63348<br />
drwxr-xr-x   14 root     root         4096 Dec  8 00:42 .<br />
drwxr-xr-x    9 root     root         4096 Nov 20 22:35 ..<br />
-rw-r--r--    1 root     root       255905 Jul 21 22:06 D2kbanner.gif<br />
drwxr-xr-x    2 tobias   tobias       4096 Sep 21 12:33 SPV<br />
-rw-r--r--    1 root     root      3574193 Aug 28 12:02 SWW6TS.kak<br />
drwxrwxrwx    5 root     root         4096 Nov  4 21:41 albums<br />
[..]


werkt prima dus :)

[ Voor 71% gewijzigd door HunterPro op 08-12-2003 00:46 ]


  • Marc
  • Registratie: November 2001
  • Laatst online: 01-12-2021
sorry HunterPro, ik was weer eens te eigenwijs.
je hebt gelijk, het werkt nu.

tnx :)

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
Marc schreef op 08 december 2003 @ 00:46:
sorry HunterPro, ik was weer eens te eigenwijs.
je hebt gelijk, het werkt nu.

tnx :)
let vooral op het feit dat een newline in shell geen pure \n is, maar ook een carriage return \r bevat. Weet zo 123 niet in welke volgorde, maar het zal dus óf \n\r, óf \r\n zijn. En daar zat je fout in :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Hum ja, manualwerk, belabberde titel, belabberde openingspost, slotje as usual.

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.