Avatar billede python Nybegynder
09. januar 2006 - 05:50 Der er 4 kommentarer og
1 løsning

string replacement regex problem

Jeg er desværre et sted hvor mine evner ikke rækker og vil meget gerne havde hjælp:

CAH.open('GET','enside.htm');
CAH.send();

rText=CAH.responseText;
rText=rText.replace('<option value="1136693962767">8th January 2006 - 3</option>',"<option value="1136693962767">Sun, 8 Jan 2006 04:19:22</option>");


Der kan i se nogenlunde hvad jeg gerne vil ha der skal ske ..

Problemet er .. at der er cirka 500 af de option's .. og de har selfølgelig alle forskellige timestamps .. derudover er det ikke unix timestamps før man fjerner de 3 sidste cifre i det 13 ciffer lange nummer ..
Det passer med at alle option values er på 13 cifre .. og hvis unix timestampet ikke er på 10 cifre er der et 0 istedet .. fx
1136693960000

Ok hvad der skal ske:

Replace alle <option value="*">*</option>
med ,"<option value="1136693962767">Sun, 8 Jan 2006 04:19:22</option>
der skal stå samme option value, men tiden skal ændres.

Håber der er en regex ekspert tilgængelig.
Avatar billede python Nybegynder
09. januar 2006 - 05:59 #1
btw ..
  function timeToHuman()
  {
    var theDate = new Date(timestampsourcen * 1000);
    dateString = theDate.toGMTString();
  }
sådan laver man et timestamp om til normal tid i javascript .. hvor timestampsourcen er nummeret ..
Avatar billede olebole Juniormester
09. januar 2006 - 20:58 #2
<ole>

Det lyder som en lidt sær tilgang til Ajax ... hvad er det mere præcist, du ønsker at lave?

/mvh
</bole>
Avatar billede python Nybegynder
10. januar 2006 - 07:43 #3
ok .. jeg har rodet lidt med det .. og kommet frem til dette.. men det virker desværre ikke .. nogen der ka se hvad der er galt ?

(scriptet tager option value og stripper 3 sidste digits .. så er det et normalt unix timestamp .. derefter converter den det og skulle skrive komplette tid som tekst i optionen ..


<html>
<head>
</head>
<body>
<form name="ArchiveListForm" method="post">
<select name=archive size=16 width="160">
<option value="1136869044295">10th January 2006</option>
<option value="1136867049633">10th January 2006 - 2</option>
<option value="1136841984771">9th January 2006</option>
</select>
</form>

<script language="javascript">
function ConvertTime(input)
  {
    input = input.substr(0,10);
    var theDate = new Date(input * 1000);
    dateString = theDate.toGMTString();
    return dateString;
  }
var mysel = document.forms['ArchiveListForm'].elements['archive'];
var len = mysel.options.length;
for(i=0;i<len;i++){mysel.options[len].text = ConvertTime(mysel.options[len].value)}
</script>

</body>
</html>
Avatar billede python Nybegynder
10. januar 2006 - 08:04 #4
glemte

      var RobsDayOfWeek = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
      var RobsMonthName = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
      var RobstheDate = new Date();

      document.write('<NOBR>' +
              RobsDayOfWeek[RobstheDate.getDay()] + ' ' +
              RobsMonthName[RobstheDate.getMonth()] + ' ' +
              RobstheDate.getDate() + ', ' +
              (RobstheDate.getYear() < 1900 ? RobstheDate.getYear() + 1900 : RobstheDate.getYear()) +
              '</NOBR>');

ska smides ind under script..

Det er noget med for loopen jeg ikke ka finde ud af. .
Avatar billede python Nybegynder
10. januar 2006 - 08:10 #5
Nå jeg løste det selv til sidst..
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester