Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Uklanjanje novih linija?

[es] :: PHP :: Uklanjanje novih linija?

[ Pregleda: 1240 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Jezdimir Lončar
Aka Blazeme
PHP/jQuery Dev, BildStudio
Crna Gora / Pljevlja

Član broj: 74833
Poruke: 674
*.crnagora.net.

Jabber: jezdonet@gmail.com


+4 Profil

icon Uklanjanje novih linija?21.06.2007. u 17:16 - pre 205 meseci
Pozdrav svima!
Evo, ja sam uradio neki forum u vezi sa php-om, postavio na moj sajt i sve to, ali, imam jedan problem.
Evo, na primer ES, kad idete na pregled foruma, na mouseOver efekat vam se prikaze jedan prozorcic gdje vidite prve znake topica.
To i ja hocu.
Uradio sam to, sve fino, preko neke javascript funkcije i substr (php) funkcije i radi.
Medjutim, "kvaka" je u tome kad prvih 250 znaka (koliko sam ja stavio da se izdvoji) sadrzi novi red.
Onda ta javascript-a nece da radi.
Kod izgleda ovako (kad se generise):
Code:

<a href="../../topic/1/" onmouseover="TipIt('Pozdrav svima!<br />
Evo izašla je i beta verzija foruma.<br />
Ovaj forum sam ja sam pravio, tako da, nadam se da vam se svi&#273;a...<br />
Pozdrav,<br />
Jezdimir.','Topic: Beta je izasla!!!',170)">

A meni treba:
Code:

<a href="../../topic/1/" onmouseover="TipIt('Pozdrav svima!<br />Evo izašla je i beta verzija foruma.<br />Ovaj forum sam ja sam pravio, tako da, nadam se da vam se svi&#273;a...<br />Pozdrav,<br />Jezdimir.','Topic: Beta je izasla!!!',170)">

Kako to da uradim?
(ubio sam se citajuci php man ali nista)
=============================================================
2. pitanje:
Kako da dozvolim da se pojavljuju (ne praziraju) HTML tagovi samo izmedju [*code*] tagova?
U ostalom djelu bi trebali da se stripuju (strip_tags())?
// Edit:
Evo sta mi je palo na pamet:
Code:

    $text = str_replace('<','&lt',$text);
    $text = str_replace('>','&gt',$text);

A posle (obrnuto):
Code:

function tags($text) {
    $text = str_replace('&lt'','<',$text);
    $text = str_replace('&gt','>',$text);
return $text;
}
$text = preg_replace("#\[*code\](.*?)\[/*code\]#si","<div class=\"quote\"><code>tags('$1')</code></div>",$text);

Ali tu ne resavam problem praziranja tagova u code -u ?

[Ovu poruku je menjao Neohacker dana 21.06.2007. u 18:30 GMT+1]
“I never think of the future - it comes soon enough.” - Albert Anštajn (Albert Einstein)
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
82.208.211.*

Sajt: norway.dakipro.com


+190 Profil

icon Re: Uklanjanje novih linija?21.06.2007. u 17:32 - pre 205 meseci
Mislim da ti ovde puca javascript zato sto imas novi red iza <br /> tagova. Problem ti ovde ne resava nl2br jer ona doda (ne zamenjuje) <br /> pre enter znakova.
Evo ti funkcija koja zamenjuje \n u <br />
Mislim da bi ti resila problem.

Code:

function nl2br2($string) {
    $string = str_replace(array("\r\n", "\r", "\n"), "<br />", $string);
    return $string;
}

 
Odgovor na temu

Jezdimir Lončar
Aka Blazeme
PHP/jQuery Dev, BildStudio
Crna Gora / Pljevlja

Član broj: 74833
Poruke: 674
*.crnagora.net.

Jabber: jezdonet@gmail.com


+4 Profil

icon Re: Uklanjanje novih linija?21.06.2007. u 17:37 - pre 205 meseci
E brate, mnogo ti hvala!
Ja sam ovo probao ovako:
Code:
$text = str_replace("\n","<br />",$text);

Ali nesto nije islo...
Uglavnom, mnogo ti hvala!!!
Ali mi ostaje i drugi problem?
Imas neko resenje?
“I never think of the future - it comes soon enough.” - Albert Anštajn (Albert Einstein)
 
Odgovor na temu

w3bl0rd
Varaždin, Hrvatska

Član broj: 82659
Poruke: 380
*.adsl.net.t-com.hr.



+26 Profil

icon Re: Uklanjanje novih linija?21.06.2007. u 18:44 - pre 205 meseci
na windowsima ti \r \n označava novi red a ne samo \n najvjerojatnije je u tome bio problem...
there's no place like 127.0.0.1
 
Odgovor na temu

Jezdimir Lončar
Aka Blazeme
PHP/jQuery Dev, BildStudio
Crna Gora / Pljevlja

Član broj: 74833
Poruke: 674
*.crnagora.net.

Jabber: jezdonet@gmail.com


+4 Profil

icon Re: Uklanjanje novih linija?21.06.2007. u 19:38 - pre 205 meseci
Moguce..
E ovako, sad imam 2 problema:
1. (Onaj sto sam gore naveo)
2. Kako da "reversujem" HTML kod u BBCode u onome Ajax-Edit-In-Place (opet, slucaj ES-a) ?
Ja sam nesto kontao:
Code:

obj.innerHTML = obj.innerHTML.replace("<br>","\n");
obj.innerHTML = obj.innerHTML.replace("<br />","\n");
obj.innerHTML = obj.innerHTML.replace("<b>","[b]");
obj.innerHTML = obj.innerHTML.replace("</b>","[/b]");
obj.innerHTML = obj.innerHTML.replace("<em>","[i]");
obj.innerHTML = obj.innerHTML.replace("</em>","[/i]");
obj.innerHTML = obj.innerHTML.replace("<u>","[u]");
obj.innerHTML = obj.innerHTML.replace("</u>","[/u]");
obj.innerHTML = obj.innerHTML.replace("<span style='text-decoration:line-through'>","[s]");
obj.innerHTML = obj.innerHTML.replace("</span>","[/s]");
obj.innerHTML = obj.innerHTML.replace("<font color=\"","[color=");
obj.innerHTML = obj.innerHTML.replace("\">","]");
obj.innerHTML = obj.innerHTML.replace("</font>","[/color]");

Preko javascripta.
Preko php-a ne mogu jer bi morao da mjenjam mnogo toga...
Ali, mozda sam sa ovim postom (zapravo, vjerovatno jesam) promasio forum?
“I never think of the future - it comes soon enough.” - Albert Anštajn (Albert Einstein)
 
Odgovor na temu

[es] :: PHP :: Uklanjanje novih linija?

[ Pregleda: 1240 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.