11. juni 2002 - 03:04Der er
7 kommentarer og 2 løsninger
Hvorfor virker dette regular expression ikke ???
Hvorfor virker dette ikke ????
<script language="javascript1.2">
// HTML ER INPUT STRENG // // NEDENSTÅENDE SKAL ERSTATTE ALLE FOREKOMSTER AF <//xx//> i html VARIABLE med replacestr // // TAGFORMAT: <//TAG//> // // OUTPUT: <IMG SRC="TAG.GIF"><!--TAG-->
var html = "<//TAG//> <BR><HR>fdsgsdgsdghsdgh<//TAG2//>sgsdf<BR>"; var owntag = new RegExp("/<\/\/(.*)\/\/>", "gi"); var replaceStr = "<IMG SRC=\"tag.gif\"><!--" + owntag.$1 + "-->"; html.replace(owntag, replaceStr);
// html var. burde nu være: // // <IMG SRC="TAG.GIF"><!--TAG--> <BR><HR>fdsgsdgsdghsdgh<IMG SRC="TAG.GIF"><!--TAG2-->sgsdf<BR>
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Du må som minimum skulle escape dine "/" - altså skrive "\/" istedet. Men jeg har lidt svært ved at gennemskue præcis hvad det er du vil have til at erstatte hvad :( ... kan du ikke prøve at forklare det lidt tydeligere?
nedenstående virker sådan som netscape har implementeret RegExp reglerne. men desværre mener Ie at der er en syntaksfejl i "var owntag ..." linien
<script language="javascript1.2">
// HTML ER INPUT STRENG // // NEDENSTÅENDE SKAL ERSTATTE ALLE FOREKOMSTER AF <//xx//> i html VARIABLE med replacestr // // TAGFORMAT: <//TAG//> // // OUTPUT: <IMG SRC="TAG.GIF"><!--TAG-->
var html = "<//TAG//> <BR><HR>fdsgsdgsdghsdgh<//TAG2//>sgsdf<BR>";
var owntag = new RegExp("<//([^/>]+)//>", "gi"); var replaceStr = "<IMG SRC=\"tag.gif\"><!--\"$1\"-->"; // $1 er blot bogstaver i den der streng var olsen = html.replace(owntag, replaceStr); // olsen modtager den modificerede
// html var. burde nu være: // // <IMG SRC="TAG.GIF"><!--TAG--> <BR><HR>fdsgsdgsdghsdgh<IMG SRC="TAG.GIF"><!--TAG2-->sgsdf<BR>
Min test var med IE4, så det har de så rettet. Men " tegn i kommentaren er ikke pr specs så det bør nok være:
<script language="javascript1.2">
// HTML ER INPUT STRENG // // NEDENSTÅENDE SKAL ERSTATTE ALLE FOREKOMSTER AF <//xx//> i html VARIABLE med replacestr // // TAGFORMAT: <//TAG//> // // OUTPUT: <IMG SRC="TAG.GIF"><!--TAG-->
var html = "<//TAG//> <BR><HR>fdsgsdgsdghsdgh<//TAG2//>sgsdf<BR>";
//var owntag = new RegExp("<//([^/>]+)//>", "gi"); // NS4+ og IE6, ej IE4 var owntag = /<\/\/([^\/]+)\/\/>/gi ; // både NS4+ og IE4+ var replaceStr = "<IMG SRC=\"tag.gif\"><!--$1-->"; // $1 er blot bogstaver i den der streng var olsen = html.replace(owntag, replaceStr); // olsen modtager den modificerede
// html var. burde nu være: // // <IMG SRC="TAG.GIF"><!--TAG--> <BR><HR>fdsgsdgsdghsdgh<IMG SRC="TAG.GIF"><!--TAG2-->sgsdf<BR>
var owntag = /<IMG SRC=\"tag\.gif\"><!\-\-([^\/]+)\-\->/gi ; // både NS4+ og IE4+ var replaceStr = "<//$1//>";
mvh JakobA
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.