na stránce mám pole pro psaní textu (textarea). chtěl bych, aby bylo možno vkládat i smajlíky do tohoto pole. smajlíky mám uloženy ve složce "smiles".
jak je můžu nějakou funkcí php zobrazit pod textovým polem (textarea) a následně vložit do textu jestliže na daného smajlíka kliknu?
Diky
Fórum › PHP
Vložení smajlíků do textarea
To prema :
zkus třeba http://www.pecan.cz/index.php?id=22&n=jak-udelat-z-textoveho-smajla-obrazkovy
tak dané smajlíky se mi vloží do textaree a jede to super, pouzil sem tento clanek http://interval.cz/clanky/nahradte-textove-smajliky-obrazkovymi/
nyní mam problem v tom, ze se mi na jiné strance (pro čtenáře) smajlici nezobrazi jako obrazky ale jen jako textova verze - př.: :), :(, apod...
Nemate nekdo zkusenosti jak zmenit textove smajliky na obrazkove?
Diky
Našel jsem nějaký článek o tomto přeměnění textových smajlíků na obrázkové (http://programujte.com/index.php?akce=clanek&cl=2006040702-str_replace-v-praxi). Zkoušel jsem to aplikovat, ale opět se nic neděje... Mrkněte pls na kod a zkuste mi poradit co by mohlo byt spatne. Obrázkové smajlíky (gify) mam ve stejny slozce jako soubor s timto kodem. Vkládám vám sem ukazku kodu od <body> po </body>
Diky za radu
<body>
<table width="200" border="1" cellspacing="3" cellpadding="3">
<tr>
<td><div align="center">Textarea</div></td>
</tr>
<?php
include "config.php"; // connect to DB
mysql_query("SET NAMES utf8");
$vysledek = mysql_query("SELECT * FROM kruzek_info");
$radek = mysql_fetch_array($vysledek);
while ($radek = mysql_fetch_object($vysledek))
{
echo "<TR>";
echo "<TD>".$radek->textarea."</td>";
echo "</TR>";
}
mysql_free_result($vysledek);
$obsah=$radek["obsah"];
$textik = wordwrap( $obsah, 50, "\n", 1);
$texticek= htmlspecialchars($textik);
$najst=array
(
":-)",
":-(",
":-D",
":-O",
);
$nahradit=array
(
"<img src=\"smile1.gif\" alt=\":-)\" />",
"<img src=\"smile2.gif\" alt=\":-(\" />",
"<img src=\"smile3.gif\" alt=\":-D\" />",
"<img src=\"smile4.gif\" alt=\":-O\" />",
);
$text=str_replace($najst, $nahradit, $texticek);
echo "$text";
?>
</table>
</body>
Už se to tady řešilo: http://programujte.com/index.php?akce=diskuze&kam=vlakno&tema=7161-nahrazeni-smajliku-nefunguje-podle-clanku
mimochodem -> když kód ve článku přesně překopíruješ a změníš tam heslo, sloupec, uživatel apod., funguje to?
mimochodem -> zkus dát pryč ten wordwrap, jak to dopadne :)
Tak zjistíme kde je chyba.. Vyzkoušej následující kód:
$obsah="to ti funguje? :-) že jo! :-( ";
$obsah= htmlspecialchars($obsah);
$najit=array(
":-)",
":-(",
":-D",
":-O");
$nahradit=array (
"<img src=\"smile1.gif\" alt=\":-)\" />",
"<img src=\"smile2.gif\" alt=\":-(\" />",
"<img src=\"smile3.gif\" alt=\":-D\" />",
"<img src=\"smile4.gif\" alt=\":-O\" />");
$obsah=str_replace($najit, $nahradit, $obsah);
echo $obsah;
To pawlik : ty carky na radku 32 a 40 neni zas az takovy prohresek a nevidim duvod, proc by tam nemohly byt, i kdyz asi vec nazoru :) (mozna i rychlostni duvod)
To prema : tak me tak napada, ze jestli pouzivas FF, tak pokud se nenacte obrazek, tak se misto nej vypise jeho alt, tedy textovy smajlik = porad vidis textove smajliky i kdyz php funguje jak ma a to jen proto, ze nacita neexistujici obrazky. Muzes sem hodit zdrojovy kod vygenerovane stranky, staci jen usek s nejakym smajlikem ... (v ie to automaticky hodi ten nadherne vypadajici krizek o neexistujicim obrazku a jak se chova opera si nejsem moc jisty)
chlapi, ono to jede ale jen z části:)
tento text "to ti funguje? :-) že jo! :-(" v pohode premeni na smajliky, ale zbytku se to ani nedotkne...
<body>
<table width="200" border="1" cellspacing="3" cellpadding="3">
<tr>
<td><div align="center">Textarea</div></td>
</tr>
<?php
include "config.php"; // connect to DB
mysql_query("SET NAMES utf8");
$obsah = mysql_query("SELECT * FROM kruzek_info");
$radek = mysql_fetch_array($obsah);
while ($radek = mysql_fetch_object($obsah))
{
echo "<TR>";
echo "<TD>".$radek->textarea."</td>";
echo "</TR>";
}
mysql_free_result($obsah);
$obsah="to ti funguje? :-) že jo! :-( ";
$obsah= htmlspecialchars($obsah);
$najit=array(
":-)",
":-(",
":-D",
":-O");
$nahradit=array (
"<img src=\"smile1.gif\" alt=\":-)\" />",
"<img src=\"smile2.gif\" alt=\":-(\" />",
"<img src=\"smile3.gif\" alt=\":-D\" />",
"<img src=\"smile4.gif\" alt=\":-O\" />");
$obsah=str_replace($najit, $nahradit, $obsah);
echo $obsah;
?>
</table>
</body>
<body>
<table width="200" border="1" cellspacing="3" cellpadding="3">
<tr>
<td><div align="center">Textarea</div></td>
</tr>
<?php
include "config.php"; // connect to DB
function naSmajly($obsah){
$obsah= htmlspecialchars($obsah);
$najit=array(
":-)",
":-(",
":-D",
":-O");
$nahradit=array (
"<img src=\"smile1.gif\" alt=\":-)\" />",
"<img src=\"smile2.gif\" alt=\":-(\" />",
"<img src=\"smile3.gif\" alt=\":-D\" />",
"<img src=\"smile4.gif\" alt=\":-O\" />");
$obsah=str_replace($najit, $nahradit, $obsah);
return $obsah;
}
mysql_query("SET NAMES utf8");
$obsah = mysql_query("SELECT * FROM kruzek_info");
while ($radek = mysql_fetch_object($obsah))
{
echo "<TR>";
echo "<TD>".naSmajly($radek->textarea)."</td>";
echo "</TR>";
}
mysql_free_result($obsah);
?>
</table>
</body>
a co tohle?
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Vložení htm kodu do textarea — založil JMM
Vlozeni textu do TextArea za behu programu — založil polerok
Vložení textu z programu do HTML textarea — založil Jack020
Vkládáníé smajlíků do textu — založil jara
Nahrazení smajlíků - nefunguje - podle článku — založil Anonymní uživatel
Moderátoři diskuze