gudn tach Marko!
Jetzt sollen aber URLs die innerhalb von <textarea> </textarea> stehen nicht ersetzt werden. [...] Auf Sonderfälle mit Verschachtelungen würde ich mal keine Rücksicht nehmen.
ok, wenn verschachtelte textareas ausgeschlossen sind, muss nur noch beruecksichtigt werden, dass ein dokument mehrere (nicht verschachtelte) textareas besitzt.
angenommen der komplette inhalt der datei steht in $file
. dann kannst du mit
$file_parts2=[link:http://www.php.net/manual/en/function.explode.php@title=explode]('<textarea>', $file);
$n=count($file_parts2);
for($i=1;$i<$n;++$i)
$file_parts[$i]=explode('</textarea>', $file_parts2[$i]);
ein 2d-array $file_parts
erzeugen, sodass du mit deinem bisherigen regexp bloss $file_parts2[0]
und
die teile $file_parts[1..$n][1]
bearbeiten musst.
anschliessnd baust du alles wieder mit join() wieder zusammen.
prost
seth