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

Форум PHP

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

 

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

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

тема: Текстовые смайлы равны графическим! Первод смайлов!
 
 автор: Panker   (10.02.2006 в 15:54)   письмо автору
 
 

Есть такая фигня

<SCRIPT language=JavaScript>
function x () {return;}
function FocusText() {
    document.REPLIER.val3.focus();
    document.REPLIER.val3.select();
    return true; }
function DoSmilie(addSmilie) {
    var revisedmsgage;
    var currentmsgage = document.REPLIER.val3.value;
    revisedmsgage = currentmsgage+addSmilie;
    document.REPLIER.val3.value=revisedmsgage;
    document.REPLIER.val3.focus();
    return;
}
function DoPrompt(action) { var revisedmsgage; var currentmsgage = document.REPLIER.qmsgage.value; }
</SCRIPT>





<A href='javascript:%20x()' onclick="DoSmilie(' :-))');"><img src='images/smile.gif' border=0></a>
<a href='javascript:%20x()' onclick="DoSmilie(' :-)');"><img src='images/biggrin.gif' border=0></a>
<a href='javascript:%20x()' onclick="DoSmilie(' :-P');"><img src='images/razz.gif' border=0></a>
<a href='javascript:%20x()' onclick="DoSmilie(' 8-)');"><img src='images/cool.gif' border=0></a>
<a href='javascript:%20x()' onclick="DoSmilie(' :-(');"><img src='images/mad.gif' border=0></a>
<A href='javascript:%20x()' onclick="DoSmilie(' :-O');"><img src='images/redface.gif' border=0></a>
<A href='javascript:%20x()' onclick="DoSmilie(' ;-)');"><img src='images/wink.gif' border=0></a>
<A href='javascript:%20x()' onclick="DoSmilie(' :roll:');"><img src='images/rolleyes.gif' border=0></a>
<A href='javascript:%20x()' onclick="DoSmilie(' :rf:');"><img src='images/confused.gif' border=0></a>
<A href='javascript:%20x()' onclick="DoSmilie(' 8-(');"><img src='images/eek.gif' border=0></a>
<A href='javascript:%20x()' onclick="DoSmilie(' '-(');"><img src='images/cry.gif' border=0></a>
<A href='javascript:%20x()' onclick="DoSmilie('[RB]  [/RB] ');"><font color=red><B>
RB</b></font></a>

вот типа в текстар пишит смайл Что надо добавить чтоб эти символы типа :-( :-)) и так далее преврощялись в смайолы как наверху в коде типа смайл навен такомуто рисунку! что нужно ?? а т оя разбераю чужую гост книгу там нашел только это а сам процес незастал на месте =)))

   
 
 автор: Panker   (10.02.2006 в 19:26)   письмо автору
 
   для: Panker   (10.02.2006 в 15:54)
 

Вот

<script>
function insertsmile(dat)
{
form.val2.value += dat+' ';
form.val2.focus();
}
</script>
</head><body><style> textarea { border: 1px dashed Silver; } input { border: 1px dashed Silver; } </style> 
<a href="javascript:insertsmile(' =)')"><img src="images/smile.GIF"></a>
<form  action="form.php" method="post" name=form>
Имя<br><input type="text" name="val1" size="20" maxlength="10"><br> 
<textarea name="val2" rows="4" cols="20" ></textarea>
<br> <input type="submit"  value="отправить"></td></p></form> 
<?php $var str_replace(" =)","images/smile.GIF",$var); ?>
<?php 
include "panker.php"?></html>

мой индес да!
я нашел код в 3 строчки

<script>
function insertsmile(dat)
{
form.val2.value += dat+' ';
form.val2.focus();
}
</script>

тепреь 3 строчки т при нажатии на смайл в текстарт заносится улыбка =) но некак не магу добится чтоб =) менялась на смайл вроде во эта штука меян ть должна но она не меняет
<?php $var = str_replace(" =)","images/smile.GIF",$var); ?>

   
 
 автор: kasmanaft   (10.02.2006 в 19:58)   письмо автору
 
   для: Panker   (10.02.2006 в 19:26)
 

эта штука меняет сами символы "=)" на слова "images/smile.GIF"
а чтобы эти слова превратились в картинку нужно их заменить на <img src='images/smile.GIF'>
соответственно будет тогда
<?php $var = str_replace(" =)","<img src='images/smile.GIF'>",$var); ?>

возможно придется изменить немного адрес к картинке - это уже сами как-нибудь :)

   
 
 автор: drago   (10.02.2006 в 19:59)   письмо автору
 
   для: Panker   (10.02.2006 в 19:26)
 

может так?

<?php $var str_replace(" =)","<img src=\"images/smile.GIF\">",$var); ?>


PS: опрередили. :)

   
 
 автор: Panker   (10.02.2006 в 21:42)   письмо автору
 
   для: drago   (10.02.2006 в 19:59)
 

не одно из вышеперечисленого не работает =(((((((

   
 
 автор: Panker   (10.02.2006 в 21:46)   письмо автору
 
   для: Panker   (10.02.2006 в 21:42)
 

Если е трудн опосоветуйте что нет ькак зменить =) на смайл :( :( :( :(

   
 
 автор: Panker   (11.02.2006 в 15:56)   письмо автору
 
   для: Panker   (10.02.2006 в 21:46)
 

Ага смайлы в гостевухи не обезательны да? ))))))))

   
 
 автор: Drago   (11.02.2006 в 16:23)   письмо автору
 
   для: Panker   (11.02.2006 в 15:56)
 

Вот это, нужно писать в скрипте, который выводит сообщение на экран.

<?php $var str_replace(" =)","<img src=\"images/smile.GIF\">",$var); ?>

Как у тебя вообще сообщения хранятся?

   
 
 автор: Panker   (11.02.2006 в 16:55)   письмо автору
 
   для: Drago   (11.02.2006 в 16:23)
 

в txt файле!

   
 
 автор: Panker   (11.02.2006 в 17:04)   письмо автору
 
   для: Panker   (11.02.2006 в 16:55)
 

Блин корчое дело такое!
я перед тем как заджать вопрос и после того облазил весь фору по поиску! нашел кучу ответов но не 1 не подошел т.к не рабочий!!!!!!!!!!!!!!!!!!
3 дня тщу ответ по всяким фишкам и тут даже вон 4 ответа 3 идентичных! ))
Вот код inde.php

<script>
function insertsmile(dat)
{
form.val2.value += dat+' ';
form.val2.focus();
}
</script>
</head><body><style> textarea { border: 1px dashed Silver; } input { border: 1px dashed Silver; } </style>
<a href="javascript:insertsmile(' =)')"><img src="images/smile.gif"></a>
<form action="form.php" method="post" name=form>
Имя<br><input type="text" name="val1" size="20" maxlength="10">
Мыло<input type="text" name="email" size="20" maxlength="30"><br>
<textarea name="val2" rows="4" cols="20" ></textarea>
<br> <input type="submit" value="отправить"></td></p></form>
<?php include "panker.php"; ?></html>

FORM.PHP

<?php
if(empty($_SERVER['HTTP_REFERER']))
{//Это проверка есть ли реферер - если его нет то какой-то пидар заперся в этот файл не из формы а просто ввел в адресную строку
echo "Не хер умничать!!!";
exit();
}
if(!ereg($_SERVER['SERVER_NAME'], $_SERVER['HTTP_REFERER']))
{//Это проверка на то , откуда прислали данные, если их прислали с другого хоста - ругаемся
//Это для того чтоб злойдей не сохранял форму на жесткий не слал данные с локального комп
echo "Не хер умничать!!!";
exit();
}
if((!empty($_POST['val1']))&&(!empty($_POST['val2']))&&(!empty($_POST['email'])))
{//Проверка на заполненность данных, если хоть одно поле пустое данные не будут записываться
$f = fopen("panker.php", "a");
//Тут я убрал проверку на вводимы данные и добавли функцию htmlspecialchars - Это чтоб можно было безопасно вводит HTML
$str='<b><a href="mailto:'.substr($_POST['email'], 0, 30).'">'.htmlspecialchars(substr($_POST['val1'], 0, 10)).'</b></a>'
."<br><font size =2>".
nl2br(htmlspecialchars(substr($_POST['val2'], 0, 100)));
//Функция nl2br делает такие же переводы строк как и в форме. Т.е. если в форме нажмут на ентер, курсор перейдет на новую строчку, так потом будет показано и на экране.
//Если бы не эта функция то , если сообщение написано будет в несколько строк - на эране потом оно выведется в одну строку
fputs($f, $str."<br>");
fclose($f);
}
header("Location: index.php");
?>

и смайл чёрт ПОДЕРИ не вставить! помогите же наконец! весь форум облазил 1 овтет везде
репреси
$var = str_replace(" =)","<img src=\"images/smile.GIF\">",$var);
но это не действует! я и так и эдак и слеш туда и слуш сюда и без слеша путь писатьл и смайл так и эдак все пробывал!
index and form лежат в наале ну в домашней директории смайлы лежат в папке images формат GIF что ещё сказать не знаю =((

   
 
 автор: kasmanaft   (11.02.2006 в 17:14)   письмо автору
 
   для: Panker   (11.02.2006 в 17:04)
 

счас напишу :))

   
 
 автор: kasmanaft   (11.02.2006 в 17:20)   письмо автору
 
   для: Panker   (11.02.2006 в 17:04)
 

<?php
if(empty($_SERVER['HTTP_REFERER']))
{
echo 
"Не хер умничать!!!";
exit();
}
if(!
ereg($_SERVER['SERVER_NAME'], $_SERVER['HTTP_REFERER']))
{
echo 
"Не хер умничать!!!";
exit();
}
if((!empty(
$_POST['val1']))&&(!empty($_POST['val2']))&&(!empty($_POST['email'])))
{

$msg nl2br(htmlspecialchars(substr($_POST['val2'], 0100)));
$msg str_replace("=)","<img src='images/smile.GIF'>",$msg);
$email substr($_POST['email'], 030);
$name htmlspecialchars(substr($_POST['val1'], 010));
$f fopen("msg.txt""w");
$str="<b><a href=mailto: $email>$name</a></b><br><font size =2>$msg";

fputs($f$str."<br>");
fclose($f);
}
header("Location: index.php");
?>


вообщем подправил чуть-чуь код... написано было, как бы сказать помягче :) не очень...
вы пытались добавлять сообщения в скрипт, их же обрабатывающий... теперь они будут в файле msg.txt (прада только последнее, правильнее было бы создавать файлы например с именем "времени" когда происходила запись)

чтобы добавить побольше смайлов нужно добавлять строчки типа
$msg = str_replace("=)","<img src='images/smile.GIF'>",$msg);
где "=)" - что следует замень
"<img src='images/smile.GIF'>" - на что...

теперь у вас новые проблемы :)) как забирать сообщения из файла и как бы сделать побольше этих файлов :)

   
 
 автор: Drago   (11.02.2006 в 18:55)   письмо автору
 
   для: Panker   (11.02.2006 в 17:04)
 

Раз файл с собщениями просто инклудится, то все, что нужно, так это справить в файле form.php
это

<?php
$str
='<b><a href="mailto:'.substr($_POST['email'], 030).'">'.htmlspecialchars(substr($_POST['val1'], 010)).'</b></a>'."<br><font size =2>".nl2br(htmlspecialchars(substr($_POST['val2'], 0100)));
?>

на вот это

<?php
$str
='<b><a href="mailto:'.substr($_POST['email'], 030).'">'.htmlspecialchars(substr($_POST['val1'], 010)).'</b></a>'."<br><font size =2>".str_replace(" =)","<img src=\"images/smile.GIF\">",nl2br(htmlspecialchars(substr($_POST['val2'], 0100))));
?>

   
 
 автор: kasmanaft   (11.02.2006 в 17:09)   письмо автору
 
   для: Panker   (11.02.2006 в 16:55)
 

:)) наверное имелось ввиду в какой переменной... в файле должно храниться уже <img .....>, чтобы автоматом все делалось :)

нужно найти переменную, где хранится будующая запись...
пользователь написал сообщение вместе со всеми =) :) :lol: и т.д. затем в этой переменной, перед записью ее значения в файл, нужно заменить "=)" на адрес к картинке... для этого

<?php $var = str_replace(" =)","<img src='images/smile.GIF'>",$var); ?>

$var - это и есть в примере эта переменная...

   
 
 автор: ZC   (11.02.2006 в 18:25)   письмо автору
 
   для: kasmanaft   (11.02.2006 в 17:09)
 

Это можно сделать при помощи регулярных выражений. Спросите Хеопса

   
 
 автор: Panker   (11.02.2006 в 19:13)   письмо автору
 
   для: ZC   (11.02.2006 в 18:25)
 

GПосле двух дней насилования форума я выпотал это :)) Бпг сенкс ребята )

   
Rambler's Top100
вверх

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