Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как вывести не строкой в окне формы а как стихотворный текст в столбик?
 
 автор: tavila_tvl   (14.03.2015 в 22:50)   письмо автору
 
 

Есть программка. См. ниже.
При попытке откорректировать стихотворный текст в окне формы пишет всё в строчку.
Заменяла
<textarea name="message" cols="50" rows=10 class="style1" id="message"><?php echo $home;?></textarea>
на
<textarea name="message" cols="50" rows=10 class="style1" id="message"><?php nl2br($home);?></textarea>
тогда в окне не печатает ничего.
Как вывести не строкой в окне формы а как стихотворный текст в столбик?
Вот можно запустить - http://eto-ja.ru/info_rabotaet/edit_form.php
======================================
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
require_once("../utils/config.php");
// require_once("../utils/utils.php");
$ctg = mysql_query("SELECT * FROM primer");
if(!$ctg) exit(mysql_error());
while($cat = mysql_fetch_assoc($ctg))
{
$home = htmlspecialchars($cat['home']);
$home = stripslashes($home);
$home = str_replace("\r\n"," <br>",$home);


$home = str_replace("","<strong>",$home);
$home = str_replace("
","</strong>",$home);
$home = str_replace("","<em>",$home);
$home = str_replace("
","</em>",$home);
$home = str_replace("[url]","<a href=\"",$home);
$home = str_replace("[/url]","\" target=\"_blank\">ссылка</a>",$home);


}
//echo $home;
echo nl2br($home);
?>
<form enctype='multipart/form-data' name='form' action="update_post.php" method="post">

<table border="0" width="51%">
<tr valign="top">
<td ><div class="blockremark">
Используйте тэги для выделения текста:<br>
Жирный: <a href=# onClick="javascript:tag('', ''); return false;" >[/b]</a><br>
Наклонный: <a href=# onClick="javascript:tag('', ''); return false;" >[i][/i]</a><br>
URL: <a href=# onClick="javascript:tag('[url]', '[/url]'); return false;" >[url][/url]</a><br>
</div></td></tr>
</table>
<table border="0" width="55%">

<tr valign="top"><td>
<p>

<textarea name="message" cols="50" rows=10 class="style1" id="message"><?php echo $home;?></textarea>


</p>
<p>&nbsp;
</p>
<tr valign="top"><td><input class=button type=submit name=send value=Отправить></td></tr>
</table>
</form>
<script language='JavaScript' type='text/javascript'>
<!--
setfocus('form', 'message');
//-->
</script>
<?php
include "forum.js";
?>

=======================================================
[b]Программка forum.js



<script language='JavaScript1.1' type='text/javascript'>
<!--
function tag(text1, text2)
{
if ((document.selection))
{
document.form.message.focus();
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
} else if(document.forms['form'].elements['message'].selectionStart != undefined) {
var element = document.forms['form'].elements['message'];
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.form.message.value += text1+text2;
}
function click_link()
{
document.form.message.value = document.form.message.value + '<?php echo $str; ?>';
}

//-->
</script>

  Ответить  
 
 автор: Trianon   (15.03.2015 в 01:01)   письмо автору
 
   для: tavila_tvl   (14.03.2015 в 22:50)
 

>Заменяла на
><textarea name="message" cols="50" rows=10 class="style1" id="message"><?php nl2br($home);?></textarea>
> тогда в окне не печатает ничего.


<?php echo nl2br($home); ?>

  Ответить  
 
 автор: tavila_tvl   (15.03.2015 в 19:13)   письмо автору
 
   для: Trianon   (15.03.2015 в 01:01)
 

Всё равно в строчку в окошке.
Не знаю что и делать.
Теперь заменила на
<textarea name="message" cols="50" rows=10 class="style1" id="message"><?php echo nl2br($home); ?></textarea>

  Ответить  
 
 автор: elenaki   (15.03.2015 в 19:35)   письмо автору
 
   для: tavila_tvl   (15.03.2015 в 19:13)
 

А в html что?

  Ответить  
 
 автор: tavila_tvl   (15.03.2015 в 19:47)   письмо автору
 
   для: elenaki   (15.03.2015 в 19:35)
 

тексты программ приведены вверху.

  Ответить  
 
 автор: elenaki   (15.03.2015 в 19:49)   письмо автору
 
   для: tavila_tvl   (15.03.2015 в 19:47)
 

А я не про текст программы спросила, а про то, что эта программа выводит в браузер.

Нашла ссылку. У меня абракадабра по viewsource, но я заметила, что перевод строки там выводится как &lt;br&gt;
надо бы не nl2br() использовать, а
 str_replace("&lt;br&gt;","<br>",$home)

  Ответить  
 
 автор: tavila_tvl   (15.03.2015 в 20:03)   письмо автору
 
   для: elenaki   (15.03.2015 в 19:49)
 

не поняла где и что исправлять?

  Ответить  
 
 автор: Trianon   (15.03.2015 в 19:52)   письмо автору
 
   для: tavila_tvl   (15.03.2015 в 19:47)
 

вверху здесь какой-то кошмар:

$home = htmlspecialchars($cat['home']);
$home = stripslashes($home);
$home = str_replace("\r\n"," <br>",$home);
$home = str_replace("","<strong>",$home);
$home = str_replace("","</strong>",$home);
$home = str_replace("","<em>",$home);
$home = str_replace("","</em>",$home);
$home = str_replace("[url]","<a href=\"",$home);
$home = str_replace("[/url]","\" target=\"_blank\">ссылка</a>",$home);

  Ответить  
 
 автор: tavila_tvl   (15.03.2015 в 20:00)   письмо автору
 
   для: Trianon   (15.03.2015 в 19:52)
 

Я добавила пробелы, и выделила жирным.
Так (только без пробелов ) в текстах.
Я так и вводила здесь в сообщении.
Но почему то при распечатке содержимое поста исказилось.
$home = str_replace("[ b ]","<strong>",$home);
$home = str_replace(" [ /b ]","</strong>",$home);
$home = str_replace("[ i ]","<em>",$home);
$home = str_replace("[ /i ]","</em>",$home);
$home = str_replace("[url]","<a href=\"",$home);
$home = str_replace("[/url]","\" target=\"_blank\">ссылка</a>",$home);

  Ответить  
 
 автор: elenaki   (15.03.2015 в 20:03)   письмо автору
 
   для: tavila_tvl   (15.03.2015 в 20:00)
 

потому что код надо оформлять как код - выделить и нажать на [ code] [ /code] - при вводе сообщения вверху справа

  Ответить  
 
 автор: tavila_tvl   (15.03.2015 в 20:04)   письмо автору
 
   для: elenaki   (15.03.2015 в 20:03)
 

не поняла где и что исправлять?

  Ответить  
 
 автор: elenaki   (15.03.2015 в 20:12)   письмо автору
108 Кб
 
   для: tavila_tvl   (15.03.2015 в 20:04)
 

Сейчас уже не исправить. Это на будущее. Когда вставляете код в сообщение, выделяйте его тэгами. Прикрепляю рисунок. Это касается ТОЛЬКО оформления сообщений на этом форуме! Для удобства чтения. Это не решение вашей проблемы.

Что касается проблемы, то по-моему - вот это $home = htmlspecialchars($cat['home']); не нужно.

  Ответить  
 
 автор: tavila_tvl   (15.03.2015 в 20:26)   письмо автору
 
   для: elenaki   (15.03.2015 в 20:12)
 

Лена, как исправить? Сейчас текст выглядит так.
Не поняла ...


<?php
Error_Reporting(E_ALL & ~E_NOTICE);
require_once("../utils/config.php");
// require_once("../utils/utils.php");
$ctg = mysql_query("SELECT * FROM primer");
if(!$ctg) exit(mysql_error());
while($cat = mysql_fetch_assoc($ctg))
{
//$home = htmlspecialchars($cat['home']);
$home = $cat['home'];
$home = stripslashes($home);
$home = str_replace("\r\n"," <br>",$home);


$home = str_replace("","<strong>",$home);
$home = str_replace("
","</strong>",$home);
$home = str_replace("","<em>",$home);
$home = str_replace("
","</em>",$home);
$home = str_replace("[url]","<a href=\"",$home);
$home = str_replace("[/url]","\" target=\"_blank\">ссылка</a>",$home);


}
//echo $home;
echo nl2br($home);
?>
<form enctype='multipart/form-data' name='form' action="update_post.php" method="post">

<table border="0" width="51%">
<tr valign="top">
<td ><div class="blockremark">
Используйте тэги для выделения текста:<br>
Жирный: <a href=# onClick="javascript:tag(' [ b ]', ' [ /b ]'); return false;" >[ b ] [ /b ]</a><br>
Наклонный: <a href=# onClick="javascript:tag(' [ i ]', '[ /i ]'); return false;" >[ i ] [ /i ]</a><br>
URL: <a href=# onClick="javascript:tag('[url]', '[/url]'); return false;" >[url][/url]</a><br>
</div></td></tr>
</table>
<table border="0" width="55%">

<tr valign="top"><td>
<p>

<textarea name="message" cols="50" rows=10 class="style1" id="message"><?php echo nl2br($home); ?></textarea>


</p>
<p>&nbsp;
</p>
<tr valign="top"><td><input class=button type=submit name=send value=Отправить></td></tr>
</table>
</form>
<script language='JavaScript' type='text/javascript'>
<!--
setfocus('form', 'message');
//-->
</script>


<?php
include "forum.js";
?>

  Ответить  
 
 автор: elenaki   (15.03.2015 в 20:28)   письмо автору
 
   для: tavila_tvl   (15.03.2015 в 20:26)
 

<?php
Error_Reporting
(E_ALL & ~E_NOTICE); 
require_once(
"../utils/config.php");
// require_once("../utils/utils.php");
$ctg mysql_query("SELECT * FROM primer"); 
if(!
$ctg) exit(mysql_error()); 
while(
$cat mysql_fetch_assoc($ctg)) 

//$home = htmlspecialchars($cat['home']); 
$home $cat['home']; 
$home stripslashes($home); 
$home str_replace("\r\n"," <br>",$home);


$home str_replace("","<strong>",$home); 
$home str_replace("","</strong>",$home); 
$home str_replace("","<em>",$home); 
$home str_replace("","</em>",$home); 
$home str_replace("[url]","<a href=\"",$home);
$home str_replace("[/url]","\" target=\"_blank\">ссылка</a>",$home); 



//echo $home; 
echo nl2br($home);
?>
<form enctype='multipart/form-data' name='form' action="update_post.php" method="post">

<table border="0" width="51%">
<tr valign="top">
<td ><div class="blockremark">
Используйте тэги для выделения текста:<br>
Жирный: <a href=# onClick="javascript:tag('[ b]', ' [ /b]'); return false;" >[ b] [ /b]</a><br>
Наклонный: <a href=# onClick="javascript:tag('[ i]', '[ /i]'); return false;" >[ i] [ /i]</a><br>
URL: <a href=# onClick="javascript:tag('[url]', '[/url]'); return false;" >[url][/url]</a><br> 
</div></td></tr>
</table> 
<table border="0" width="55%">

<tr valign="top"><td>
<p>

<textarea name="message" cols="50" rows=10 class="style1" id="message"><?php echo nl2br($home); ?></textarea>


</p>
<p>&nbsp;
</p>
<tr valign="top"><td><input class=button type=submit name=send value=Отправить></td></tr>
</table>
</form>
<script language='JavaScript' type='text/javascript'>
<!--
setfocus('form', 'message'); 
//-->
</script>


<?php
include "forum.js";
?>


Странно. Форум меняет содержимое квадратных скобок даже внутри выделенного кода. Раньше такого не было, вроде.

  Ответить  
 
 автор: tavila_tvl   (15.03.2015 в 20:40)   письмо автору
 
   для: elenaki   (15.03.2015 в 20:28)
 

Спасибо Лена. Щас буду пробовать.
Да форум удаляет почему то.

  Ответить  
 
 автор: elenaki   (15.03.2015 в 21:27)   письмо автору
 
   для: tavila_tvl   (15.03.2015 в 20:40)
 

Эту строку
<textarea name="message" cols="50" rows=10 class="style1" id="message"><?php echo nl2br($home); ?></textarea> 

записать так
<textarea name="message" cols="50" rows=10 class="style1" id="message"><?php echo str_replace("&lt;br&gt;""<br>"$home); ?></textarea> /// 

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования