Gå til innhold

finnes det noe ala nl2br for å lage <p>?


Anbefalte innlegg

Skrevet

JEg skulle gjerne hatt en funksjon nlnl2p(), men tror ikke den finns.... sånn at hvis det er to linjeskift blir det lagt til en <p> noen som har noen tips for hvordan dettte kan gjøres? trenger jo da også </p> ved slutten...

Videoannonse
Annonse
Skrevet

Du kan jo håpe på at noen RegEx-1337-folk vil skrive et uttrykk til deg.. Regner med at du må bruke eregi_replace eller en slik funksjon for å oppnå det.

Skrevet

<?php

function nlnl2p() {

return str_replace("\n", "<p>", $fil);

}

?>

 

men for å få til å legge på </p> etter texten, må du bruke regex

Skrevet

Hvis du vil kjøre den stilen så kan du jo bare bruke:

<?php
function nlnl2p() {
return str_replace("\n", "</p><p>", $fil);
}
?>

Og bare huske å starte hele greia med <p> og deretter ha </p> helt på slutten.

Skrevet

$text = explode("\n", $text);
$i=0;
while ($text)
{
   $nytext = '<p>' . $text[$i] . '</p>';
   $i++;
}

 

Dette ble jo veldig dårlig og kan sikkert skrives utrolig mye penere og mer effektivt. Men det funker jo?

Skrevet (endret)

Har snekret sammen en preg_replace-løsning til deg her:

<?php
$patternSearch = "/\n\n(.*)/i";
$patternReplace = "<p>$1</p>";
$text = "Dette er\nEn test.\n\nPå tre linjer\nOg et avsnitt\n";

$text = preg_replace($patternSearch, $patternReplace, $text);

echo($text);
?>

 

"På tre linjer" vil bli satt mellom en <p> og en </p>.

 

Edit: Denne funksjonen fungerer bare med Unix-style linjeskift (\n, ikke \r\n). Hvis du trenger en for windows-linjeskift, bruk denne:

<?php
$patternSearch = "/\r\n\r\n(.*)/i";
$patternReplace = "<p>$1</p>";
$text = "Dette er\nEn test.\n\nPå tre linjer\nOg et avsnitt\n";

$text = preg_replace($patternSearch, $patternReplace, $text);

echo($text);
?>

Endret av lokaltog

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...