/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
eregi_replace
Fra : Jeppe Christensen


Dato : 02-07-06 21:37

Får følgende fejl meddelse:

Warning: Wrong parameter count for eregi_replace() in
/customers/gie04-05.dk/gie04-05.dk/httpd.www/puity/funktioner.php

Mit script ser således ud:

   function highlight_text($text){
   $link =
"((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?|&|\/|\.|
-|:|æ|ø|å)+){0,}";
   $makelink = "<a href=\"\\0\">\\0</a>";
   $mail =
"^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*)$";
   $makelink2mail = "<a href=\"mailto:\\0\">\\0</a>";
   return eregi_replace($link, $makelink, $mail, $makelink2mail,
$text);
   }   

   echo highlight_text("http://www.Gie04-05.dk og
admin@gie04-05.dk");

hvad skal ændres før det virker? og hvorfor??

mvh. Jeppe

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Michael Zedeler (02-07-2006)
Kommentar
Fra : Michael Zedeler


Dato : 02-07-06 23:13

Jeppe Christensen wrote:
> Får følgende fejl meddelse:
>
> Warning: Wrong parameter count for eregi_replace() in
> /customers/gie04-05.dk/gie04-05.dk/httpd.www/puity/funktioner.php
>
> Mit script ser således ud:
>
>    function highlight_text($text){
>    $link =
> "((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?|&|\/|\.|
> -|:|æ|ø|å)+){0,}";
>    $makelink = "<a href=\"\\0\">\\0</a>";
>    $mail =
> "^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*)$";
>    $makelink2mail = "<a href=\"mailto:\\0\">\\0</a>";
>    return eregi_replace($link, $makelink, $mail, $makelink2mail,
> $text);
>    }   
>
>    echo highlight_text("http://www.Gie04-05.dk og
> admin@gie04-05.dk");
>
> hvad skal ændres før det virker? og hvorfor??

Hvis du kigger i manualen, står der at eregi_replace tager tre
parametre. Så må det være op til dig at afgøre hvad du vil.

http://dk2.php.net/manual/en/function.eregi-replace.php

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Jeppe Christensen (04-07-2006)
Kommentar
Fra : Jeppe Christensen


Dato : 04-07-06 20:24

> Hvis du kigger i manualen, står der at eregi_replace tager tre
> parametre. Så må det være op til dig at afgøre hvad du vil.
>
> http://dk2.php.net/manual/en/function.eregi-replace.php

Okay... har prøvet at lave lidt om på koden:


   function highlight_url($text){
   return
eregi_replace("((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?
|&|\/|\.|-|:|æ|ø|å)+){0,}",
"<a href=\"\\0\">\\0</a>", $text);   
   }   

   $text = "http://www.gie04-05.dk og admin@gie04-05.dk";

   $text2 = highlight_url($text);

   function highlight_text($text2){
   $mail = "^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*)$";
   $makelink2mail = "<a href=\"mailto:\\0\">\\0</a>";
   return eregi_replace($mail, $makelink2mail, $text2);    
   }   
   
   echo highlight_text($text2);
       
Men resultatet bliver kun at den laver url'en om til et link og ikke
mailen...

Hvad skal jeg gøre for at den laver begge ting om til links...



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Michael Zedeler (04-07-2006)
Kommentar
Fra : Michael Zedeler


Dato : 04-07-06 23:21

Jeppe Christensen wrote:
>>Hvis du kigger i manualen, står der at eregi_replace tager tre
>>parametre. Så må det være op til dig at afgøre hvad du vil.
>>
>>http://dk2.php.net/manual/en/function.eregi-replace.php
>
> Okay... har prøvet at lave lidt om på koden:
>
>    function highlight_url($text){
>    return
> eregi_replace("((f|ht)tps?://)([a-z0-9@:%_.~#\-\?&-]+)((\=|[a-z0-9]|\?
> |&|\/|\.|-|:|æ|ø|å)+){0,}",
> "<a href=\"\\0\">\\0</a>", $text);   
>    }   
>
>    $text = "http://www.gie04-05.dk og admin@gie04-05.dk";
>
>    $text2 = highlight_url($text);
>
>    function highlight_text($text2){
>    $mail = "^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*)$";
>    $makelink2mail = "<a href=\"mailto:\\0\">\\0</a>";
>    return eregi_replace($mail, $makelink2mail, $text2);    
>    }   
>    
>    echo highlight_text($text2);
>        
> Men resultatet bliver kun at den laver url'en om til et link og ikke
> mailen...

Så må du jo debugge dit regulære udtryk til at matche mail-adresser.
Klip den del af koden ud, der ikke virker og skær den ned indtil at den
virker. Du kan jo starte med at fjerne ^ og $, som tydeligvis ikke hører
til. Se manualen hvorfor.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste