473,396 Members | 1,875 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Converting string content to html

Hi all.

Well, I need some light in this simple thing I'm trying to do. I'm
using the XMLHttpRequest to retrieve some data from a db via php
script. The result is passed to a "results" array of strings, which
contain the data from the script.

But, the data from the script, which are the content of the strings,
have html tags in it. The thing is: I'm using the DOM to append the
string result to a table already built in the page (using
create_element and appendchild).

insertO = document.getElementById("output_table");
oTR = document.createElement('tr');
oTD = document.createElement('td');
oText = document.createTextNode(Text);
oTD.appendChild(oText);
oTR.appendChild(oTD);
insertO.tBodies[0].appendChild(oTR);

The Text var would contain something like "<font color="red">this
<b>is</b> html</font>".

This way the output isn't parsed, i.e., it shows the tags.
Does anyone have an idea on how to overcome this?

Thks
Alex

Jul 23 '05 #1
6 1495
whoops, I guess I slightly misread your post. You'd still want to do a
regexp replace by using this:

/<[^<>]*>//ig as the expression.

Jul 23 '05 #2
You could just do a regexp replace for < and > for their HTML character
equivilents, &lt; and &gt; respectivly.

Jul 23 '05 #3
Alex wrote:
Hi all.

Well, I need some light in this simple thing I'm trying to do. I'm
using the XMLHttpRequest to retrieve some data from a db via php
script. The result is passed to a "results" array of strings, which
contain the data from the script.

But, the data from the script, which are the content of the strings,
have html tags in it. The thing is: I'm using the DOM to append the
string result to a table already built in the page (using
create_element and appendchild).

insertO = document.getElementById("output_table");
oTR = document.createElement('tr');
oTD = document.createElement('td');
oText = document.createTextNode(Text);
oTD.appendChild(oText);
oTR.appendChild(oTD);
insertO.tBodies[0].appendChild(oTR);

The Text var would contain something like "<font color="red">this
<b>is</b> html</font>".

This way the output isn't parsed, i.e., it shows the tags.
Does anyone have an idea on how to overcome this?

Thks
Alex


Did you want the HTML to be parsed, or discarded? If it's the former,
this might be a textbook case for the value of innerHTML....

http://www.developer-x.com/content/innerhtml/

Jul 23 '05 #4
RobB wrote:
[...]

Did you want the HTML to be parsed, or discarded? If it's the former,
this might be a textbook case for the value of innerHTML....

http://www.developer-x.com/content/innerhtml/


Or a textbook case for ensuring that the text object(s) were
appropriately serialized in the XML in the first place. ;-)

(I make no admission to knowing what that format might be!)

Which requires the obvious response: supposing I wanted to use DOM to
create text nodes for the above case, what is the appropriate format
so that I can create appropriate DOM objects then give them
appropriate attributes?

Below is a feeble attempt to get a start on it, but I could not work
out how to read styles from an object then apply them to an element.

e.g. if I create a span 'oSpan' and put some text into it with a text
node, then create say w='color' and y='red', the following does
not seem to work:

oSpan = document.createElement('span');
oSpan.appendChild(document.createTextNode('stuff') );
oSpan.style.w = y;

Then append oSpan to the document, 'stuff' is in the default
color. If I explicitly use:

oSpan.style.color = 'red';
or
oSpan.style.color = y;

'stuff' is red.

If there really is no way to do this? Do I need a case statement for
every single style attribute I want to support? If so, why isn't
innerHTML (or some similar method) available in DOM 3? Or is there
and I'm just displaying my ignorance?
<style type="text/css">
..rg {color:red;}
</style>
<script type="text/javascript">
function addStuff(z){
var tgt = document.getElementById(z);

// obj should be created by parsing XML, save that for later...
var obj = {};
obj[0] = {text:'this ','color':'red'}
obj[1] = {text:'is','fontWeight':'bold'}
obj[2] = {text:' html','fontWeight':'normal'}

var i = 0;
var oTxt, oSpan;

do {
for (w in obj[i]){
switch (w) {

case 'text':
alert('Creating: ' + w + ' \'' + obj[i][w] + '\'');
oSpan = document.createElement('span');
oTxt = document.createTextNode(obj[i][w]);
oSpan.appendChild(oTxt);
break;

default:
alert('Setting style: ' + w + ' to \'' + obj[i][w] + '\'');
// oSpan.style.w = obj[i][w];
// oSpan.style.w = '\'' + obj[i][w] + '\'';
// oSpan.style.fontWeight = 'bold';
oSpan.style.color = obj[i][w];
}
}
alert('adding ' + oSpan.nodeName);
tgt.appendChild(oSpan);
}
while ( obj[++i] )
}
</script>
<input type="button" onclick="addStuff('xx')" value="addStuff">
<br>
<span id="xx"></span><br>
<span class="rg">sample text</span>


--
Rob
Jul 23 '05 #5
RobG wrote:
<snip>
e.g. if I create a span 'oSpan' and put some text into
it with a text node, then create say w='color'
and y='red', the following does not seem to work:

oSpan = document.createElement('span');
oSpan.appendChild(document.createTextNode('stuff') );
oSpan.style.w = y;

Then append oSpan to the document, 'stuff' is in the default
color.
That gives you a property of the style object called 'w' to which the
string value 'red' has been assigned. There is no reason to expect a 'w'
property of a style object to affect the presentation of the span.
If I explicitly use:

oSpan.style.color = 'red';
or
oSpan.style.color = y;

'stuff' is red.

If there really is no way to do this? ...

<snip>

oSpan.style[w] = y;

Richard.
Jul 23 '05 #6
Richard Cornford wrote:
RobG wrote:
<snip>
e.g. if I create a span 'oSpan' and put some text into
it with a text node, then create say w='color'
and y='red', the following does not seem to work:

oSpan = document.createElement('span');
oSpan.appendChild(document.createTextNode('stuff') );
oSpan.style.w = y;
[...]
oSpan.style[w] = y;


Dang - thanks!

But I still find accessing properties this way a bit confusing.
--
Rob
Jul 23 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Alfredo Agosti | last post by:
Hi folks, I have an Access 2000 db with a memo field. Into the memo field I put text with bold attributes, URL etc etc What I need to to is converting the rich text contained into the memo...
1
by: Bill Sneddon | last post by:
I am using an XML file produced by doing a save-as in Excel. The file has content that looks like one of these three examples lines: <Cell ss:StyleID="s24"><ss:Data ss:Type="String"...
1
by: KK | last post by:
Hi, I need to save certain content to SQL server and then use SQL Server indexing facility to search. SQL Server have recomended using Image data type with a filter type (for .htm, .doc etc..)...
2
by: Dave | last post by:
I am converting an ASP Classic web site to an ASP.NET application and have some real basic formatting or design questions. (The classic ASP site has both code (forms) and content pages.) 1.When...
20
by: Guadala Harry | last post by:
In an ASCX, I have a Literal control into which I inject a at runtime. litInjectedContent.Text = dataClass.GetHTMLSnippetFromDB(someID); This works great as long as the contains just...
5
by: Robert | last post by:
I have a series of web applications (configured as separate applications) on a server. There is a main application at the root and then several virtual directories that are independant...
4
by: Phill | last post by:
I am trying to convert the following to VB: Imports System.Data Imports System.Data.SqlClient Imports System.Net Imports System.IO.Stream 'Get the stream containing content returned by the...
4
by: pmcgover | last post by:
I enjoyed Paul Barry's September article in Linux Journal entitled, "Web Reporting with MySQL, CSS and Perl". It provides a simple, elegant way to use HTML to display database content without any...
0
by: DougBatch | last post by:
I am storing resumes in SQL2005 so that I can make use of full text search. The resumes (word and txt docs) are stored as images. I would like to be able to highlight the keywords that are found in...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.