(Hallo|Hi(ho)|Nabend) kointa,
ich wollte grad ein Skript bissle modifizieren, jedoch scheint das skript nur für str_replace ausgelegt zu sein.
Ich kann jedenfalls das ###URL### nicht durch eine URL ersetzen.
Weil dein Script nicht nach "###URL###" sucht.
// Own Player
define("OWN_WIDTH", 380);
define("OWN_HEIGHT", 313);
Der folgende Reguläre Ausdruck sucht nach '[own ...]', wobei du dir für ... alle möglichen druckbaren Zeichen (und davon mindestens eins) vorstellen musst:
define("OWN_REGEXP", "/[own ([[:print:]]+)]/");
Steht diese Kombination irgendwo in deinem zu durchsuchendem Text?
define("OWN_TARGET", "<embed type="application/x-shockwave-flash" height="".OWN_HEIGHT."" width="".OWN_WIDTH."" src="http://www.choiz.extra.hu/mediaplayer.swf?file=###URL###&backcolor=0x000000&frontcolor=0xCCCCCC&lightcolor=0x000000&screencolor=0x000000&searchbar=false&autostart=false" loop="true" quality="high" bgcolor="#000000" name="flvplayer" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" pluginspage="http://www.macromedia.com/go/getflashplayer" /></embed>");
Bääh, was für ein Umstand, extra für preg_replace_callback() eine Ersetzen-Funktion zu basteln. Im englischen Wort "replace" steckt doch das "Ersetzen" schon drin ...
function own_plugin_callback($match) {
$output = OWN_TARGET;
$output = str_replace("###URL###", $match[1], $output);
return ($output);
}function own_plugin($content) {
return preg_replace_callback(OWN_REGEXP, 'own_plugin_callback', $content);
}
>
> Ich habe schon versucht anstatt
>
> `str_replace("###URL###", $match[1], $output);`{:.language-php}
>
> das hier zu nehmen:
>
> `preg_replace("###URL###", $match[1], $output);`{:.language-php}
>
> Aber es geht trotzdem nicht.
Ja, klar, weil preg\_replace() damit nach '##URL##' sucht, und dieses Muster wird in deinem zu durchsuchenden Text nicht enthalten sein. Das erste und das letzte '#' wird dabei übrigens als RegExp-Begrenzerzeichen interpretiert.
>
> Ich habe schon gegoogelt aber irgedwie nichts gefunden, scheint wohl etwas komplizierter zu sein. wo könnte der fehler sein ?
> ich muss dazu sagen dass ich in php neu bin, aber ich lerne schnell ;)
Das ist gut. Dann lerne schnell [preg_replace()](http://de.php.net/manual/de/function.preg-replace.php) und [PCRE in PHP](http://de.php.net/manual/en/reference.pcre.pattern.syntax.php) anzuwenden. ;-)
> ich möchte als ergebnis zb. haben:
> [own http://fsdf.de]
Das Ergebnis ist weniger interessant. Um einen passenden RegEx zu erstellen, ist es wichtiger zu wissen, wonach preg\_replace() suchen soll.
MffG
EisFuX
--
[Nichts ist dem Zuwachs an Wissen förderlicher, als nach einer Antwort korrigiert zu werden.](http://community.de.selfhtml.org/zitatesammlung/zitat119)