In this page is presented a simple JavaScript script with a form that contains a textarea with buttons to add BBcode, or HTML tags to format the text with Bold, Italic, Underline, and colors, also to add links, and Smiles.
When the user clicks a button to format the text, the JavaScript code adds specified BBcode, or HTML tag, in the location where the cursor is in textarea, or arround the selected text (the smiles are added at the end of text).
This form can be used, for example in PHP applications that retrieve the text added in textarea and save it into a database or file on the server.


To download the script, click -> Script textarea with format text, and smiles.
The archive contains a directory (icos/) with images for buttons, a JavaScript and a PHP file for formating the text, and a "form.html" file that contains the form, and can also be used for test (if it's accessed from server).

- By default, the buttons add BBcode and smile characters in textarea, if you want to add directly HTML tags, open the "addformat.js" file and replace the "bbcode" value of the tagtype variable (line 4) with "html".
var tagtype = 'bbcode';

- To add other colors, edit the color code in the variable colors (line 7), the colors must be added with hexazecimal code (without '#'), between quotes.
Example: Red, Green, Blue:
var colors = [ 'ff0000', '00ff00', '0000ff' ];

• Demo: With BBcode - With HTML tags.
- With BBcode:
B I U Link  Color :) :( :P :D :S :O :=) :|H :X :-*


If you want to use this form with a PHP script, you can use the following PHP function to replace the BBcode and smiles added in textarea with HTML code.
// Function to convert BBcode in HTML tags ( coursesweb.net )
function formatBBcode($str) {
 // characters that represents bbcode, and smiles
 $bbcode = array(
 '/\[b\](.*?)\[\/b\]/is', '/\[i\](.*?)\[\/i\]/is', '/\[u\](.*?)\[\/u\]/is', // for format text
 '/\[url\=(.*?)\](.*?)\[\/url\]/is', // for URL
 '/\[color\=#([0-9a-f]{3,6})\](.*?)\[\/color\]/is', // for color
 // smiles
 '/:\)/i', '/:\(/i', '/:P/i', '/:D/i', '/:S/i', '/:O/i', '/:=\)/i', '/:\|H/i', '/:X/i', '/:\-\*/i');

 // HTML code that replace bbcode, and smiles characters
 $htmlcode = array(
 '<b>$1</b>', '<i>$1</i>', '<u>$1</u>', // format text
 '<a target="_blank" href="$1" title="$2">$2</a>', // URL
 '<span style="color:#$1;">$2</span>', // color
 // smiles (from "icos/" directory)
 '<img src="icos/0.gif" alt=":)" style="border:none;" />',
 '<img src="icos/1.gif" alt=":(" style="border:none;" />',
 '<img src="icos/2.gif" alt=":P" style="border:none;" />',
 '<img src="icos/3.gif" alt=":D" style="border:none;" />',
 '<img src="icos/4.gif" alt=":S" style="border:none;" />',
 '<img src="icos/5.gif" alt=":O" style="border:none;" />',
 '<img src="icos/6.gif" alt=":=)" style="border:none;" />',
 '<img src="icos/7.gif" alt=":|H" style="border:none;" />',
 '<img src="icos/8.gif" alt=":X" style="border:none;" />',
 '<img src="icos/9.gif" alt=":-*" style="border:none;" />'
 );

 $str = preg_replace($bbcode, $htmlcode, $str); // perform replaceament

 return nl2br($str); // nl2br() to replace new line characters with <br>
}

// if data from POST "txtmsg", gets the text
// delete tags, replace BBcode with HTML, and output the text
$str = isset($_POST['txtmsg']) ? formatBBcode( strip_tags($_POST['txtmsg'], '<b><i><u><span><img><a>') ) : 'coursesweb.net';
echo $str;

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which tag is used to add lists into <ul> and <ol> elements?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://coursesweb.net/css/</li>
</ul>
Which value of the "display" property creates a block box for the content and ads a bullet marker?
block list-item inline-block
.some_class {
  display: list-item;
}
Which instruction converts a JavaScript object into a JSON string.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicate the PHP class used to work with HTML and XML content in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Textarea with buttons to format text, colors and smiles

Last accessed pages

  1. MouseEvent - Events for Mouse (1396)
  2. Contact page - CoursesWeb (33504)
  3. Tabs effect with CSS (34157)
  4. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (40952)
  5. CSS Course - Free lessons (10087)

Popular pages this month

  1. Making DIV Contents Scroll Horizontally, with multiple Div`s inside (2006)
  2. Contact page - CoursesWeb (1949)
  3. Tabs effect with CSS (1948)
  4. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (621)
  5. Insert, Select and Update NULL value in MySQL (490)