• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1507
  • Last Modified:

javascript to add id attribute that is the same as name attribute

I need a simple PHP or javascript script that parses an html page returned as a string, when it finds a name tage that doesn't have an id tag between the < > carrots.it creates an id attribute with the same name as name="objectname".  Anybody have any idea how to do this?
0
kcg-witchdoctor
Asked:
kcg-witchdoctor
2 Solutions
 
KhoiNqqCommented:
Here the PHP code you needs
<?php
$str = "<html><body><div name=\"something\"><div name=\"something2\" id=\"test\"></div></div></body></html>";
 
$re  = "/<([^\s>]+) ([^>]+)>/";
if (preg_match_all($re, $str, $match)){
	foreach ($match[2] as $k => $attr_str){
		$attrs = explode(" ", $attr_str);
		$id_found = false;
		$name     = "";
		foreach ($attrs as $attr){
			if (substr($attr, 0, 3) == "id="){
				$id_found = true;
				break;
			}
			if (substr($attr, 0, 5) == "name="){
				$name = substr($attr, 5);
				echo "Found name:" . $name;
			}
		}
		if (!$id_found && $name != ""){
			$current_tag = $match[0][$k];
			$new_tag = substr($current_tag, 0, -1) . " id=" . $name . ">";
			$str = str_replace($current_tag, $new_tag, $str);
		}
 	}
}
echo "Result:\n" . $str;

Open in new window

0
 
ysfxCommented:
Here's a js solution:
	<script>
 
 
		if(document.body.all)
		{
			for(i in document.body.all)
			{
				if(document.body.all[i].name != "" && document.body.all[i].id == "")
					document.body.all[i].id = document.body.all[i].name;
			}
		}
		else
		{
			for(f in document.forms)
			{
 
				for(e in document.forms[f].elements)
				{
					if(document.forms[f].elements[e].name != "" && document.forms[f].elements[e].id == "")
						document.forms[f].elements[e].id = document.forms[f].elements[e].name;
 
				}
			}
		}
 
	</script>

Open in new window

0
 
kcg-witchdoctorAuthor Commented:
Thank you both, i wish i knew how to give 100000 points to yuou both.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now