Solved

Javascript / PHP format data field

Posted on 2010-08-31
4
220 Views
Last Modified: 2013-12-13
I have a varchar data field called notes that is displayed in javascript like:

 var text = "<div style=\"white-space:nowrap;\"><div align=\"left\" class=\"smalltext\"><strong>"+name +"</strong><BR>"+address +"<br>Phone: "+phone +em +web +"<BR><EM>"+notes +"</EM></div></div>";

Open in new window


How do I alter the +notes + to insert a <BR> after 10 words or if words are not possible, then 25 characters.
0
Comment
Question by:pda4me
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 6

Expert Comment

by:apresence
ID: 33565793
Attached code will split it up into 25 character blocks.
<SCRIPT language="JavaScript">
name = 'John Doe';
address = '100 Nowheresville';
phone = '800 555-1212';
em = 'em';
web = 'http://www.fofdsjklfasjflkasjfl.com/';
notes = 'This is a list of information that should be displayed as notes on the screen for the given user';

function split_text(text, char_count)
{
  new_text = '';

  while (text.length > 0)
  {
    if (new_text.length > 0) new_text += '<br>';
    new_text += text.substr(0, char_count);
    text = text.substr(char_count);
  }

  return new_text;
}

notes = split_text(notes, 25);
var text = '<div style="white-space:nowrap;"><div align="left" class="smalltext"><strong>'+ name +'</strong><BR>'+address +'<br>Phone: '+phone +em +web +'<BR><EM>'+notes +'</EM></div></div>';

document.write(text);
</SCRIPT>

Open in new window

0
 
LVL 13

Expert Comment

by:ansudhindra
ID: 33565814
You can use chr(13) and chr(10) from your server side script to add <br> .
In coldfusion it is

Text...#chr(13)##chr(10)#... text which actually displays like

Text.....
...text

Just print these two chars wherever you want line breaks
0
 
LVL 6

Accepted Solution

by:
apresence earned 500 total points
ID: 33565832
Attached code will split up into 10-word lines.
<SCRIPT language="JavaScript">
name = 'John Doe';
address = '100 Nowheresville';
phone = '800 555-1212';
em = 'em';
web = 'http://www.fofdsjklfasjflkasjfl.com/';
notes =
  'This is a list of information that should be displayed as notes ' +
  'on the screen for the given user. This time we\'re splitting based ' +
  'on the number of words, 10 per line.';

function split_text_words(text, word_count)
{
  new_text = '';
  words = 0;

  for (i=0; i<text.length; i++)
  {
    ch = text.substr(i, 1);

    if (ch == ' ')
    {
      words++;
      if (words == word_count)
      {
        new_text += '<br>';
        words = 0;
      }
      else
      {
        new_text += ch;
      }
    }
    else
    {
      new_text += ch;
    }
  }

  return new_text;
}

notes = split_text_words(notes, 10);
var text = '<div style="white-space:nowrap;"><div align="left" class="smalltext"><strong>'+ name +'</strong><BR>'+address +'<br>Phone: '+phone +em +web +'<BR><EM>'+notes +'</EM></div></div>';

document.write(text);
</SCRIPT>

Open in new window

0
 
LVL 22

Expert Comment

by:Om Prakash
ID: 33565836
Split by 10 words..
var newnotes = note.split(" ");
var newstr = "";
for (i=0; i<newnotes.length; i++)
{
   if(y%10==0)  
      	newstr = words[i] + "<br>"
   else
    	newstr = words[i]
}     

var text = "<div style=\"white-space:nowrap;\"><div align=\"left\" class=\"smalltext\"><strong>"+name +"</strong><BR>"+address +"<br>Phone: "+phone +em +web +"<BR><EM>"+newstr  +"</EM></div></div>";

Open in new window

0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to count occurrences of each item in an array.

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question