/ 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
<br /> bliver ikke fanget i str_replace ?
Fra : Jesper Brunholm


Dato : 17-04-02 11:18

Hej

Mine undervisere bliver forvirrede af tagget <br /> som nl2br sætter ind
- nemmeste løsning er at udskifte tagget med std-tagget <br>, men jeg
kan ikke få det til at virke - nogen der ved hvorfor?
Jeg har flg sæt kode (som ikke virker nogen af dem)

<<<
$InNyt = nl2br($InNyt);
$InNyt = str_replace("<br />", "<br>", $InNyt);
>>>

<<<
$ny_kb = nl2br($ny_kb);
$trans = array("<br />" => "<br>");
strtr($ny_kb,$trans);
>>>

pf tak

venligst

Jesper Brunholm


 
 
Mogens Meier Christe~ (17-04-2002)
Kommentar
Fra : Mogens Meier Christe~


Dato : 17-04-02 13:10

> $InNyt = str_replace("<br />", "<br>", $InNyt);

Sikker på den ikke skriver <BR /> i stedet?

Da du allerede er i HTML burde der vel heller ikke være nogen fare (">" er
jo forhåbentligt oversat til &gt;) ved bare at nøjes med at erstatte " />"
med ">"?

I øvrigt er det IMHO lidt bagvendt først at bruge nl2br og så bagefter
erstatte dem - hvorfor ikke bare lave sin egen nl2br i første omgang?
Der er selvf. det irriterende problem med \n vs. \r\n vs. \r...


--
Mvh. Mogens
www.momech.dk




Jesper Brunholm (18-04-2002)
Kommentar
Fra : Jesper Brunholm


Dato : 18-04-02 11:34

Mogens Meier Christensen wrote:
>>$InNyt = str_replace("<br />", "<br>", $InNyt);
>
> Sikker på den ikke skriver <BR /> i stedet?

jeps! (er der i øvrigt nogen der ved hvorfor der ikke er lavet en
stri_replace - dvs en non-case-sensitiv funktion?)

> Da du allerede er i HTML burde der vel heller ikke være nogen fare (">" er
> jo forhåbentligt oversat til &gt;) ved bare at nøjes med at erstatte " />"
> med ">"?

Det prøver jeg (men jeg forstår stadig ikke hvorfor den ikke ville finde
det andet)

> I øvrigt er det IMHO lidt bagvendt først at bruge nl2br og så bagefter
> erstatte dem - hvorfor ikke bare lave sin egen nl2br i første omgang?
> Der er selvf. det irriterende problem med \n vs. \r\n vs. \r...

- det var det første jeg forsøgte, men jeg kunne ikke få str_replace til
at finde \n - til det kunne jeg så vælge at bruge en variant af trim,
men det blev noget besværligt når nu nl2br fandtes... Hvis ikke "/>"
virker så tror jeg at jeg følger Thomas' udemærkede løsningsforslag nr 1 ;-D

tak for hjælpen

/Jesper Brunholm


Mogens Meier Christe~ (18-04-2002)
Kommentar
Fra : Mogens Meier Christe~


Dato : 18-04-02 13:54

>er der i øvrigt nogen der ved hvorfor der ikke er lavet en
>stri_replace - dvs en non-case-sensitiv funktion?)

Nej, jeg har også savnet den, men tror det er fordi man så "ligeså godt"
kunne bruge eregi()

>> Da du allerede er i HTML burde der vel heller ikke være nogen fare (">"
er
>> jo forhåbentligt oversat til &gt;) ved bare at nøjes med at erstatte "
/>"
>> med ">"?

>Det prøver jeg

:)

>(men jeg forstår stadig ikke hvorfor den ikke ville finde det andet)

Det gør jeg heller ikke, jeg kunne ikke lige se nogen fejl i det du havde
skrevet...

>jeg kunne ikke få str_replace til at finde \n

Det bliver mere og mere mystisk - det burde den svjv da kunne! Med mindre du
altså sidder på en mac, der svjv kun laver "\r".

>Hvis ikke "/>" virker så tror jeg at jeg følger Thomas'
>udemærkede løsningsforslag nr 1 ;-D

Måske ville hans ikke-voldelige løsning virke bedre på langt sigt...?

Jeg har aldrig fattet hvad XHTML er/gør godt for - URL (OT) anyone?

--
Mvh. Mogens
www.momech.dk



Thomas Lindgaard (18-04-2002)
Kommentar
Fra : Thomas Lindgaard


Dato : 18-04-02 22:17

Davs

> >Hvis ikke "/>" virker så tror jeg at jeg følger Thomas'
> >udemærkede løsningsforslag nr 1 ;-D
>
> Måske ville hans ikke-voldelige løsning virke bedre på langt sigt...?

Nej - det tror jeg ikke :)

> Jeg har aldrig fattet hvad XHTML er/gør godt for - URL (OT) anyone?

XHTML er i bund og grund det samme som HTML 4 pånær nogle enkelte
restriktioner.

1) Tags _skal_ lukkes - det er altså ikke længere lovligt bare at smide
et <P> ind uden at lukke med et </P>.
2) "Enkeltstående" tags som f.eks. <LINK>, <IMG> og <BR> skal også
lukkes. Det kan gøres på to måder:
a) <BR></BR>
b) <BR />
3) Attributter skal skrives på en bestemt måde, så
<INPUT type=check checked>
er ulovligt af tre årsager:
a) Attributter skal skrives i gåseøjne
b) Attributter skal skrives noget="nogetandet" - checked skal
derfor skrives checked="checked"
c) Tagget skal lukkes

Den lovlige udgave er dermed følgende:
<INPUT type="check" checked="checked" />

XHTML er en XML'ifceret udgave at HTML, og en af styrkerne ved XML er at det
på grund af den lidt strengere syntax er meget nemt at parse - man kan kun
være en af tre ting: Et start-tag, et slut-tag eller det midt imellem.

.... og så er det jo XML der er fremtiden, så jo før vi begynder at lære det
jo bedre :)

Læs evt. lidt på http://www.w3.org/MarkUp/ under overskriften XHTML 1.0 om
hvad det er for no'ed.

/Thomas (der lige havde en XHTML-kæphest)



Michael Rasmussen (18-04-2002)
Kommentar
Fra : Michael Rasmussen


Dato : 18-04-02 23:04

On Thu, 18 Apr 2002 23:16:33 +0200, Thomas Lindgaard wrote:

>
> XHTML er i bund og grund det samme som HTML 4 pånær nogle enkelte
> restriktioner.
>
> 1) Tags _skal_ lukkes - det er altså ikke længere lovligt bare at
> smide et <P> ind uden at lukke med et </P>. 2) "Enkeltstående" tags
> som f.eks. <LINK>, <IMG> og <BR> skal også lukkes. Det kan gøres på to
> måder:
> a) <BR></BR>
> b) <BR />
> 3) Attributter skal skrives på en bestemt måde, så
> <INPUT type=check checked>
> er ulovligt af tre årsager:
> a) Attributter skal skrives i gåseøjne b) Attributter skal
> skrives noget="nogetandet" - checked skal
> derfor skrives checked="checked"
> c) Tagget skal lukkes
>
> Den lovlige udgave er dermed følgende:
> <INPUT type="check" checked="checked" />
>
> XHTML er en XML'ifceret udgave at HTML, og en af styrkerne ved XML er at
> det på grund af den lidt strengere syntax er meget nemt at parse - man
> kan kun være en af tre ting: Et start-tag, et slut-tag eller det midt
> imellem.
>
> ... og så er det jo XML der er fremtiden, så jo før vi begynder at lære
> det jo bedre :)
>
> Læs evt. lidt på http://www.w3.org/MarkUp/ under overskriften XHTML 1.0
> om hvad det er for no'ed.
>
> /Thomas (der lige havde en XHTML-kæphest)
Ja, og så har du lige glemt det vigtigste
XHTML er case sensitiv, så <br /> != <BR />. Standarden foreskriver
iøvrigt, at alle tags skrives med småt.
--
Hilsen/Sincerely
Michael Rasmussen

"C makes it easy to shoot yourself in the foot; C++ makes it harder,
but when you do, it blows away your whole leg." - Bjarne Stroustrup
-------------------------------------------------------------------
Fjern NOSPAM fra min adresse, for at sende mig en mail

Thomas Lindgaard (19-04-2002)
Kommentar
Fra : Thomas Lindgaard


Dato : 19-04-02 14:15

> Ja, og så har du lige glemt det vigtigste
> XHTML er case sensitiv, så <br /> != <BR />. Standarden foreskriver
> iøvrigt, at alle tags skrives med småt.

Damn! Æv æv æv. Nu gik det ellers lige så godt... men du har naturligvis
ret.

/Thomas (der til daglig faktisk skriver sine tags med småt :)



Thomas Lindgaard (17-04-2002)
Kommentar
Fra : Thomas Lindgaard


Dato : 17-04-02 13:58

Davs

> Mine undervisere bliver forvirrede af tagget <br /> som nl2br sætter ind

Skyd dem eller henvis til en XHTML-spec. :)

/Thomas



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste