hjælp til min url relpacer ang. begrænsning
ligenu har jeg flg. kode..#include <stdio.h>
#include <string.h>
void find_and_replace(char *s1, char *s2)
{
int ix1,ix2,l,fndone;
ix1 = 0;
ix2 = 0;
fndone = 0;
while(ix1 < strlen(s1))
{
if(!fndone && strncmp(s1+ix1,"http://",7)==0)
{
fndone = 1;
s2[ix2] = '\0';
strcat(s2,"<a href=\"");
ix2 += 9;
l = 0;
while(s1[ix1+l]!=' ' && s1[ix1+l]!=',' && s1[ix1+l]!='\0') l++;
strncat(s2,s1+ix1,l);
ix2 += l;
strcat(s2,"\" target=_blank>");
ix2 += 16;
strncat(s2,s1+ix1+7,l-7);
ix2 += (l - 7);
strcat(s2,"</a>");
ix2 += 4;
ix1 += l;
}
else
{
s2[ix2] = s1[ix1];
ix1++;
ix2++;
}
}
s2[ix2] = '\0';
}
int main()
{
char input[] = "Dette er en prøve http://www.eksperten.dk"
"http://www.eksperten.dk !\n";
char *output;
printf("%s",input);
output = (char *)malloc(4*strlen(input));
find_and_replace(input,output);
printf("%s",output);
free(output);
return 0;
}
som i nok kan se, ER der begrænsning på et link.. vel at mærke kun hvis der er mellemrum i mellem.. hvis de skrives sammen som dette eksempel, går det galt, da man kan crashe mit progream ved at skrive en lidt for lang url på den måde..
http://www.eksperten.dkhttp://www.eksperten.dk
skulle blive til
<a href...>www.eksperten.dk</a>http://www.eksperten.dk