Christian <christian@discoworld.dk> wrote in news:beeaju$dm8$1
@sunsite.dk:
> I nedenst†ende string ›nsker jeg at inds‘tte den fulde URL til de
> to billeder.
> 
> $string="<img scr='best.gif'><img src=best.gif>";
> $URL="
http://www.x.com";
Du vil gerne matche 
  strengen "src=" 
efterfulgt af 
  valgfrit gåseøje 
efterfulgt af 
  filnavn 
evt. efterfulgt af 
  gåseøje (hvis der var et før filnavnet)
Derfor skal dit regulære udtryk sige præcis det :) ... og det gør det 
følgende:
   "src=('?)([a-z0-9._\-]+)\\1"
Det regulære udtryk gør følgende:
1) Først matches strengen "src="
2) Så _må_ der komme en ' men den er ikke påkrævet
3) Så kommer et filnavn som må bestå af småbogstaver, tal, punktum,   
   underscore og bindestreg
4) Endelig komme det samme tegn som blev matchet i 2)! (\\1 henviser til 
   det der blev matchet af udtrykket i første parentes)
Her er hele koden:
<?php
  $string="<img src='best.gif'><img src=best.gif>";
  print 'Før: '.htmlentities($string).'<br>';
  $URL="
http://www.x.com";
  $string = preg_replace(
    "/src=('?)([a-z0-9._\-]+)\\1/", 
    "src='$URL/\\2'", 
    $string
  );
  print 'Efter: '.htmlentities($string);
   
  print '<hr>';
  show_source(__FILE__);
   
?>
.... og så lige en reference:
  
http://dk2.php.net/manual/en/pcre.pattern.syntax.php
-- 
Hyggehej
/Thomas