so kurz zum prob
ich habe einen string, drin enthalten sind urls in der form <a href=zumbeispiel.php>beispiel</a>
so umwandeln möchte ich diese in <a href=http://www.meineurl.de/zumbeispiel.php>beispiel</a>
soweit so gut, klappt auch
ABER ich möchte verhindern das (wenn) eine url im string ist die schon auf externe seiten verweist (also http://) nicht umgeschrieben wird.
hier mal mein code (mehr durch Versuche erstanden (und abschreiben) als durch Wissen )
--
$pattern = 'href="';
$pattern1= 'src="';
$url = 'http://meinedomain.de';
$con = >string mit einigen urls<
$con = preg_replace("/[:space:]*(href)[:space:]*=[:space:]*[\"]*([^ >]+)/", "$pattern$url/\\2", $con);
$con = preg_replace("/[:space:]*(src)[:space:]*=[:space:]*[\"]*([^ >]+)/", "$pattern1$url/\\2", $con);
--
aso sollte auch für img gelten, is aber ja die gleiche zeile im prinzip
aso die urls im string haben sind mit " eingeschlossen, klappte auch nich so recht mit dem letzten " zu finden, deshalb ein workaround mit den pattern
ich habe einen string, drin enthalten sind urls in der form <a href=zumbeispiel.php>beispiel</a>
so umwandeln möchte ich diese in <a href=http://www.meineurl.de/zumbeispiel.php>beispiel</a>
soweit so gut, klappt auch
ABER ich möchte verhindern das (wenn) eine url im string ist die schon auf externe seiten verweist (also http://) nicht umgeschrieben wird.
hier mal mein code (mehr durch Versuche erstanden (und abschreiben) als durch Wissen )
--
$pattern = 'href="';
$pattern1= 'src="';
$url = 'http://meinedomain.de';
$con = >string mit einigen urls<
$con = preg_replace("/[:space:]*(href)[:space:]*=[:space:]*[\"]*([^ >]+)/", "$pattern$url/\\2", $con);
$con = preg_replace("/[:space:]*(src)[:space:]*=[:space:]*[\"]*([^ >]+)/", "$pattern1$url/\\2", $con);
--
aso sollte auch für img gelten, is aber ja die gleiche zeile im prinzip
aso die urls im string haben sind mit " eingeschlossen, klappte auch nich so recht mit dem letzten " zu finden, deshalb ein workaround mit den pattern
Kommentar