Jeg har nogle tekstfelter, hvor man gerne må bruge nogle udvalgt
html-tags, fx <p> og <ul> og <li>, men man behøver ikke.
Nu skal det være muligt at lave linieskift, og når man ikke bruger
htmltags, er nl2br jo en god ven, men den er knap så god, når nu man må
bruge disse block-elementer.
Derfor har jeg forsøgt at lave min egen funktion, der ikke laver
linieskift <br /> efter html-elementer, men gør det ellers. Den virker
imidlertid ikke særlig godt, når jeg får noget ud af en database. Som
jeg har den lige nu sætter den ikke et dobbelt linieskift, selvom jeg
har valgt det:
function formater_tekstfelt($tekst) {
$search = array("'([^(<.*?>)])\r\n'","'\n\r\n'");
$replace = array("\\1<br/>\n","<br/>\n");
$nytekst = preg_replace($search, $replace, $tekst);
$nytekst = stripslashes($nytekst);
return ($nytekst);
}
Og egentlig vil jeg gerne gøre det sådan, at funktionen kun undlader at
sætte linieskift efter de (block)html-tags jeg vælger. Hvad gør jeg så.
Jeg er ikke så skarp til regulære udtryk og preg_replace!
--
Lars Olesen
Vejle Idrætshøjskole <
http://www.vih.dk>
Valider dine sider
<
http://diveintomark.org/archives/2003/05/05/why_we_wont_help_you>
Søg i nyhedsgrupperne
<
http://http://www.google.dk/grphp?tab=wg&q=&ie=UTF-8&oe=UTF-8&hl=da&meta=>