Jump to content
php.lv forumi

n2lbr (problēma, ja laižam tekstu caur n2lbr 2 reizes)


Agnisr

Recommended Posts

Sveiki forumieshi.

Esmu saskāries ar vienu problēmu: pie ziņojuma pievienošanas tekstu "izlaižu" caur n2lbr() itkā viss ok, attēlojas korekti. Bet problēmas sākas, kad ir nepieciešams šo ziņojumu labot - atkal izlaižot ziņojumu caur n2lbr tas vēlreiz ziņojumā "ieliek" <br />, kur jau iepriekš tas ir bijis. Rezultātā attēlojot ziņojumu sanāk tukšas rindas.

Varbūt kāds var pastāstīt kā to apiet?

Link to comment
Share on other sites

Paulinjsh --> tapeec ka labojot arii var buut teksts parnests jaunaa rinda VAI novaakta taa parneshana

 

Agnisr --> ir 2 risinajumi ... Viss atkariigs cik biezji tiks tas teksts labots.... un cik liela ir lapas noslodze....

Ja lapas noslodz maza un nav jaaker katra milisekunde tad saglabaa BEZ izlaishanas cauri nl2br un tikai pie atteloshansa to izdari

 

Ja svariiga katra milisekunde (lapai milziigs noslogojums un Keshosana nav uztaisiita tad:

pie ieseivoshanas IZlaid cauri un nl2br kad vajag editeet tad atkal parveido par /n tobish str_ireplace("<br />", "", $textc);

un tad labo ... un pirms seivoshanas atkal caur nl2br ...

---

Parasti Laboshana un tekstu ievade notiek DAUDZ retaak nekaa lasiishana attieciibas parasti ir 1:100 ja ne vel lielaakas....

----

Otrais varijants ir labs arii taadaa zinjaa ja izmanto BBtagus --> pie saglabaashanas parvert par html tagiem --> pie editeeshanas atpakal par BB tagiem ...

(uzraksti pats savas funkcijas kur viss tas ir ieksaa )

Edited by Grey_Wolf
Link to comment
Share on other sites

tas viss atkarīgs no teksta garuma. Ja ir liels stōrijs, tad labāk glabāt jau gatavu tekstu.

Katrā ziņā tā read:write attiecība, gan ir atkarīga no saita ... bet nu skatoties uz nākotni tā varētu pavisam ļoti liela.

 

PS: BBTagus labāk aizvietot ar normālu RichEditu un tīrīt pie saglabāšanas

Link to comment
Share on other sites

Grey_Wolf ok nebiju tik tālu aizdomājies :)

A aizdomaaties vajag ;)

jamegjina paredszeet Lietotaaja darbiibas vismaz pusssoliiti uz priekshu ;)

Taapeec jau pie izstraades ir Testi , jo trakaaki jo labaak --> lielaaka iespeeja pamaniit kaadas kljuudas...

Un Useri vienmeer izdomaas ko taadu kas tev pasham pat praataa neienaaktu ...

Link to comment
Share on other sites

uzradās jauna problēma, pārliku db uz citu datoru un tagad nezkāpēcnevaru pievienot komentāru, iepriekš viss bij ok.

Kluudas paziņojums

Out of range value adjusted for column 'id' at row 1

komentāru pievienoju šādī :

<?php
 session_start();
 $db = mysql_connect('localhost', 'xxx', 'xxx') or die('Nevar pieslēgties datubāzei');
 mysql_select_db('xxx, $db) or die('Nevar pieslēgties datubāzei');
 if(isset($_POST['submit'])) {
if(empty($_POST['username']) or empty($_POST['text'])) {
  echo 'Lūdzu, aizpildiet visus laukus';
} else {
  $article_id = $_GET['id'];
  $date = date("d",time()).'.'.date("m", time()).'.'.date("Y", time());
  $username = $_POST['username'];
  $comment = $_POST['text'];
  mysql_query("INSERT INTO comments VALUES ('', '$article_id', '$username', '$comment', '$date'\n)",$db) or die('Kļūda: ' . mysql_error());
  header("Location: article.php?id=$id");
  mysql_close($db);
}
 }
?>

 

 

tabula:

CREATE TABLE `comments` (
 `id` int(4) unsigned NOT NULL auto_increment,
 `article_id` int(4) NOT NULL,
 `username` varchar(20) collate utf8_unicode_ci NOT NULL,
 `comment` longtext collate utf8_unicode_ci NOT NULL,
 `date` varchar(255) collate utf8_unicode_ci NOT NULL,
 PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;

 

itkā visam vajadzētu būt ok, pie id ir auto_increment, bet ne vella vinš negrib pienjemt '', ja ieliek kādu skaitli, piemēram, 1 - viss ok query izpildās, kā atkal nodzēšam - atkal kļūda!

Edited by Agnisr
Link to comment
Share on other sites

×
×
  • Create New...