Ik probeerde een regeleinde toe te voegen voor een zin, en ik heb /n
in de volgende code toegevoegd.
echo "Thanks for your email. /n Your orders details are below:".PHP_EOL;
echo 'Thanks for your email. /n Your orders details are below:'.PHP_EOL;
Om de een of andere reden kreeg ik een serverfout als resultaat. Hoe los ik het op?
Antwoord 1, autoriteit 100%
\n
is een regeleinde. /n
niet.
gebruik van \n
met
1. echo rechtstreeks naar pagina
Als je nu probeert een string naar de pagina te echoën:
echo "kings \n garden";
uitvoer zal zijn:
kings garden
je krijgt garden
niet in een nieuwe regel omdat PHP een server-side taal is, en je stuurt output als HTML, je moet regeleinden in HTML maken. HTML begrijpt \n
niet. U moet de functie nl2br()
gebruiken voor dat.
Wat het doet is:
Retourneert een tekenreeks met
<br />
of<br>
ingevoegd vóór alle nieuwe regels (\r\n, \n\r, \n en \ r).
echo nl2br ("kings \n garden");
kings
garden
Opmerking Zorg ervoor dat u
\n
tussen dubbele aanhalingstekens herhaalt/afdrukt, anders wordt het letterlijk weergegeven als \n. omdat php-interpreter string in enkel aanhalingsteken ontleden met concept van zoals het is
so "\n" not '\n'
2. schrijf naar tekstbestand
Als je nu naar een tekstbestand echot, kun je gewoon \n
gebruiken en het zal naar een nieuwe regel echoën, zoals:
$myfile = fopen("test.txt", "w+") ;
$txt = "kings \n garden";
fwrite($myfile, $txt);
fclose($myfile);
uitvoer zal zijn:
kings
garden
Antwoord 2, autoriteit 9%
Je moet br gebruiken als je echo gebruikt, zoals dit:
echo "Thanks for your email" ."<br>". "Your orders details are below:"
en het zal goed werken
Antwoord 3, autoriteit 5%
Het nieuwe regelteken is \n
, zoals zo:
echo __("Thanks for your email.\n<br />\n<br />Your order's details are below:", 'jigoshop');
Antwoord 4
Misschien wilt u \r\n proberen voor regelterugloop / regelinvoer