как да премахна част от <br>-тата при nl2br()

IzKuFeLiQqQqQ

Registered
здравейте с тоя js код добавям таблица в една textarea

HTML:
<input type="text" name="cols" id="cols" size="1" maxlength="2">
<input type="text" name="rows" id="rows" size="1" maxlength="2">
<input type="button" name="addt" value="Добави таблица" onclick="addtable('cont')">
			
function addtable(obj) {
var textarea = $('#'+obj);
var value = textarea.val();
var rows=$('#rows').val();
var cols=$('#cols').val();
var text = "[table]\n";
for(i=1;i<=rows;i++) {
text +="[tr]\n";
for(k=1;k<=cols;k++){
text +="[td]";
text +="[/td]\n";
}
text +="[/tr]\n";
}
text += "[/table]";
if(value=="") {$('#'+obj).val(text);}
else {$('#'+obj).val(value+"\n\n"+text);}
$('#rows').val("");
$('#cols').val("");
}
и съдържанието на тая textarea-a го записвам в базата данни

после вземам текста и замествам [td] с <tr> и т.н с тая функция за bbcode
PHP:
<?php 
function bbcode($text){ 
$text=preg_replace("/\[b\](.+?)\[\/b\]/s", '<b>$1</b>',$text); 

$text=preg_replace("/\[i\](.+?)\[\/i\]/s", '<i>$1</i>',$text); 

$text=preg_replace("/\[u\](.+?)\[\/u\]/s", '<u>$1</u>',$text); 

$text=preg_replace("/\[s\](.+?)\[\/s\]/s", '<strike>$1</strike>',$text); 

$text=preg_replace("/\[quote\](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>Цитат:</td></tr><tr><td width="100%" style="background-color:#C7C7C7;border:solid 1px black">$1</td></tr></table>',$text); 

$text=preg_replace("/\[quote\=(.+?)](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>$1 каза:</td></tr><tr><td width="100%" style="border:solid 1px black">$2</td></tr></table>',$text); 

$text=preg_replace("/\[url\](.+?)\[\/url\]/s", '<a href="$1">$1</a>',$text); 

$text=preg_replace("/\[url\=(.+?)\](.+?)\[\/url\]/s", '<a href="$1">$2</a>',$text); 

$text=preg_replace("/\[img\](.+?)\[\/img\]/s", '<img src="$1" alt="image" />',$text); 

$text=preg_replace("/\[color\=(.+?)\](.+?)\[\/color\]/s", '<span style="color:$1">$2</span>',$text); 

$text=preg_replace("/\[size\=(.+?)\](.+?)\[\/size\]/s", '<span style="font-size:$1px;">$2</span>',$text); 

$text=preg_replace("/\[code\](.+?)\[\/code\]/s",'<table cellspacing="1" width="100%" border="0"><tr><td>Code:</td></tr><tr><td width="100%" style="border:solid 1px black">$1</td></tr></table>',$text); 

$text = nl2br($text); 

$t = file_get_contents('files/contact.php');

$text = str_replace('showcontactform()',$t,$text);

$text=preg_replace("/\[table\](.+?)\[\/table\]/s", '<table border="1" width="400">$1</table>',$text); 

$text=preg_replace("/\[tr\](.+?)\[\/tr\]/s", '<tr>$1</tr>',$text);

$text=preg_replace("/\[td\](.+?)\[\/td\]/s", '<td>$1</td>',$text); 


return $text; 
} 
?>

но заради text +="[tr]\n"; и $text = nl2br($text); вижте как излиза надолу таблицата http://himia.1.vg/ggg.html вижте сорса как има <br> след всяко <tд> и т.н

как мога да го направя в текстареата да излиза така
Код:
[table]
[tr]
[td]d[/td]
[td]d[/td]
[td]d[/td]
[/tr]
[tr]
[td]d[/td]
[td]d[/td]
[td]d[/td]
[/tr]
[/table]

но в страницата да си излиза нормална таблица без <br>-та... имайте впредвид че това $text = nl2br($text); ми трябва защото няма да има само таблици в страницата...

дано някой нещо е разбрал щото незнам как да го обясня по добре :D накратко искам "\n" от таблицата да изчезва при изкарването му в страницата
 
PHP:
<?php 
function bbcode($text){ 
$text=preg_replace("/\[b\](.+?)\[\/b\]/s", '<b>$1</b>',$text); 

$text=preg_replace("/\[i\](.+?)\[\/i\]/s", '<i>$1</i>',$text); 

$text=preg_replace("/\[u\](.+?)\[\/u\]/s", '<u>$1</u>',$text); 

$text=preg_replace("/\[s\](.+?)\[\/s\]/s", '<strike>$1</strike>',$text); 

$text=preg_replace("/\[quote\](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>Цитат:</td></tr><tr><td width="100%" style="background-color:#C7C7C7;border:solid 1px black">$1</td></tr></table>',$text); 

$text=preg_replace("/\[quote\=(.+?)](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>$1 каза:</td></tr><tr><td width="100%" style="border:solid 1px black">$2</td></tr></table>',$text); 

$text=preg_replace("/\[url\](.+?)\[\/url\]/s", '<a href="$1">$1</a>',$text); 

$text=preg_replace("/\[url\=(.+?)\](.+?)\[\/url\]/s", '<a href="$1">$2</a>',$text); 

$text=preg_replace("/\[img\](.+?)\[\/img\]/s", '<img src="$1" alt="image" />',$text); 

$text=preg_replace("/\[color\=(.+?)\](.+?)\[\/color\]/s", '<span style="color:$1">$2</span>',$text); 

$text=preg_replace("/\[size\=(.+?)\](.+?)\[\/size\]/s", '<span style="font-size:$1px;">$2</span>',$text); 

$text=preg_replace("/\[code\](.+?)\[\/code\]/s",'<table cellspacing="1" width="100%" border="0"><tr><td>Code:</td></tr><tr><td width="100%" style="border:solid 1px black">$1</td></tr></table>',$text); 

$t = file_get_contents('files/contact.php');

$text = str_replace('showcontactform()',$t,$text);

$text=preg_replace("/\[table\](.+?)\[\/table\]/s", '<table border="1" width="400">$1</table>',$text); 

$text=preg_replace("/\[tr\](.+?)\[\/tr\]/s", '<tr>$1</tr>',$text);

$text=preg_replace("/\[td\](.+?)\[\/td\]/s", '<td>$1</td>',$text); 

$text = nl2br($text); 

return $text; 
} 
?>
:idea:
 
PHP:
<?php 
function bbcode($text){ 
$text=preg_replace("/\[b\](.+?)\[\/b\]/s", '<b>$1</b>',$text); 

$text=preg_replace("/\[i\](.+?)\[\/i\]/s", '<i>$1</i>',$text); 

$text=preg_replace("/\[u\](.+?)\[\/u\]/s", '<u>$1</u>',$text); 

$text=preg_replace("/\[s\](.+?)\[\/s\]/s", '<strike>$1</strike>',$text); 

$text=preg_replace("/\[quote\](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>Цитат:</td></tr><tr><td width="100%" style="background-color:#C7C7C7;border:solid 1px black">$1</td></tr></table>',$text); 

$text=preg_replace("/\[quote\=(.+?)](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>$1 каза:</td></tr><tr><td width="100%" style="border:solid 1px black">$2</td></tr></table>',$text); 

$text=preg_replace("/\[url\](.+?)\[\/url\]/s", '<a href="$1">$1</a>',$text); 

$text=preg_replace("/\[url\=(.+?)\](.+?)\[\/url\]/s", '<a href="$1">$2</a>',$text); 

$text=preg_replace("/\[img\](.+?)\[\/img\]/s", '<img src="$1" alt="image" />',$text); 

$text=preg_replace("/\[color\=(.+?)\](.+?)\[\/color\]/s", '<span style="color:$1">$2</span>',$text); 

$text=preg_replace("/\[size\=(.+?)\](.+?)\[\/size\]/s", '<span style="font-size:$1px;">$2</span>',$text); 

$text=preg_replace("/\[code\](.+?)\[\/code\]/s",'<table cellspacing="1" width="100%" border="0"><tr><td>Code:</td></tr><tr><td width="100%" style="border:solid 1px black">$1</td></tr></table>',$text); 

$t = file_get_contents('files/contact.php');

$text = str_replace('showcontactform()',$t,$text);

$text = nl2br($text); 
$text = preg_replace("/\[table\]\<br\/\>/", "[table]", $text);
$text = preg_replace("/\[tr\]\<br\/\>/", "[tr]", $text);
$text = preg_replace("/\[td\]\<br\/\>/", "[td]", $text);
$text = preg_replace("/\[\/table\]\<br\/\>/", "[/table]", $text);
$text = preg_replace("/\[\/tr\]\<br\/\>/", "[/tr]", $text);
$text = preg_replace("/\[\/td\]\<br\/\>/", "[/td]", $text);

$text=preg_replace("/\[table\](.+?)\[\/table\]/s", '<table border="1" width="400">$1</table>',$text); 

$text=preg_replace("/\[tr\](.+?)\[\/tr\]/s", '<tr>$1</tr>',$text);

$text=preg_replace("/\[td\](.+?)\[\/td\]/s", '<td>$1</td>',$text); 

return $text; 
} 
?>
:idea:
 
оффф божееееее 1 ден без сън и малко пиене водят до преебана програмна логика :D :D

аз си викам някой сложен код ше бъде как ше го мисляяяя... то ко било |-( :o

+1 за наспалия се :D
 
IzKuFeLiQqQqQ каза:
оффф божееееее 1 ден без сън и малко пиене водят до преебана програмна логика :D :D

аз си викам някой сложен код ше бъде как ше го мисляяяя... то ко било |-( :o

+1 за наспалия се :D
Сигурно може да има и по-добър вариянт, но за този се сещам в момента. :)
 

Back
Горе