/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
regex html
Fra : Ronaldo


Dato : 24-10-06 03:59

Jeg skal lave en funktion, som tillader en bruger at oprette nyheder i en
database. Brugeren må ikke benytte html, og derfor skal den rå nyhedstekst
pakkes ind i paragrapher (<p></p>).

Det er ikke bare at tilføje et <p> i starten af strengen, og et </p> i
slutningen af den, fordi hvis der forekommer dobbelt linjebrydning, så skal
den del af strengen pakkes ind i en paragraf, og en ny paragraf påbegyndes.
Sådan vil det fortsætte indtil der ikke er flere linjebrydninger.

Jeg er ufattelig dårlig til regex, så hvis nogen gad at hjælp ville jeg være
enormt taknemmelig.



 
 
Martin (24-10-2006)
Kommentar
Fra : Martin


Dato : 24-10-06 09:29

Ronaldo wrote:
> Jeg skal lave en funktion, som tillader en bruger at oprette nyheder i en
> database. Brugeren må ikke benytte html, og derfor skal den rå nyhedstekst
> pakkes ind i paragrapher (<p></p>).

Først fjerner vi lige alle html tags med
strip_tags <http://dk.php.net/manual/en/function.strip-tags.php>
Evt, kan man lave en strip_tags($str,"<b>"); så er <b></b> tags tilladte.

>
> Det er ikke bare at tilføje et <p> i starten af strengen, og et </p> i
> slutningen af den, fordi hvis der forekommer dobbelt linjebrydning, så skal
> den del af strengen pakkes ind i en paragraf, og en ny paragraf påbegyndes.
> Sådan vil det fortsætte indtil der ikke er flere linjebrydninger.

Jeg ville nok gøre noget ala sådan her

$str = "
Hej

Med
dig";

$str = "<p>".nl2br(str_replace("\r\n\r\n","</p><p>",$str))."</p>";

Dette skulle gerne ende i
$str = "<p>Hej</p><p>Med<br/>dig</p>";

* Bemærk lige at \r\n\r\n måske skal ændres til \n\n, eller noget 3.

> Jeg er ufattelig dårlig til regex, så hvis nogen gad at hjælp ville jeg være
> enormt taknemmelig.

Det er ikke altid man behøver regex enginen startet, selvom det ser lidt
uoverskuligt ud :)

Ronaldo (24-10-2006)
Kommentar
Fra : Ronaldo


Dato : 24-10-06 18:57

Det er faktisk en rigtig fin løsning, tak skal du have Martin.

"Martin" <maa@scandesigns.dk> skrev i en meddelelse
news:453dcebf$0$49207$14726298@news.sunsite.dk...

> Først fjerner vi lige alle html tags med
> strip_tags <http://dk.php.net/manual/en/function.strip-tags.php>
> Evt, kan man lave en strip_tags($str,"<b>"); så er <b></b> tags tilladte.
....



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste