Ik heb problemen met een script waar de hele website op draait. Namelijk is het zo dat de server de nieuwste versie van php draait. Maar ik heb script gebruik van oudere versie. Zouden jullie dit kunnen bewerken? Het gaat hier onder om de preg_replace en daar achter dan tussen de "".
<? php
function removeEvilTags($source)
{
return preg_replace ('/<(.*?)>/ie', "'<'.removeEvilAttributes ('\\1').'>'", $source);
}
function removeEvilAttributes($tagSource)
{
global $cfg;
return stripslashes (preg_replace ("/".$cfg['main']['tags']."/i", 'VERBODEN', $tagSource));
}
function haal_ip()
{
## Bedankt PhpExperience!
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
elseif (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
elseif (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "Onbekend";
## Het IP teruggeven
return $ip;
}
function email ($sNaar, $sTitel, $sBericht) {
mail ($sNaar, $sTitel, $sBericht, "From: ".$this->r['cfg']->site_naam."<".$this->r['cfg']->site_email.">\nReturn-path: ".$this->r['cfg']->site_email);
}
function error_form ($sForm, $sError) {
foreach ($_POST AS $key => $content) $this->r['tpl']->assign ($sForm, 'V'.$key, $content);
foreach ($sError AS $key => $content) {
$this->r['tpl']->assign ($sForm, $key, '<font color="red">*</font>');
$this->r['tpl']->assign ("Error_Area_R", "sFout", $content);
$this->r['tpl']->Parse ("Error_Area", "Error_Area_R");
}
$this->r['tpl']->Parse ($sForm, "Error_Area");
$this->r['tpl']->Parse ("index", $sForm, "content");
}
function youtube_vriendelijk($input){
## Tnx Bas @ Web-resource.nl
$verwerk = preg_replace("http://[^<>[:space:]]+[[:alnum:]/].youtube.com/", "http://youtube.com/", $input);
$verwerk = preg_replace("&feature=[^<>[:space:]]+[[:alnum:]/]", '', $verwerk);
$verwerk = str_replace("http://youtube.com/watch?v=", md5('@!@@'), $verwerk);
$verwerk = preg_replace(md5('@!@@')."[^<>[:space:]]+[[:alnum:]/]", '<br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/\\0&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/\\0&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br />', $verwerk);
$output = str_replace(md5('@!@@'), '', $verwerk);
return $output;
}
function youtube_vriendelijk_klein($input){
## Tnx Bas @ Web-resource.nl
$verwerk = preg_replace("http://[^<>[:space:]]+[[:alnum:]/].youtube.com/", "http://youtube.com/", $input);
$verwerk = preg_replace("&feature=[^<>[:space:]]+[[:alnum:]/]", '', $verwerk);
$verwerk = str_replace("http://youtube.com/watch?v=", md5('@!@@'), $verwerk);
$verwerk = preg_replace(md5('@!@@')."[^<>[:space:]]+[[:alnum:]/]", '<br /><object width="120" height="100"><param name="movie" value="http://www.youtube.com/v/\\0&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/\\0&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="120" height="100"></embed></object><br />', $verwerk);
$output = str_replace(md5('@!@@'), '', $verwerk);
return $output;
}
?>
Overigens deze fout melding krijg ik:
Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in /home/tnijborg/domains/pubertalk.tk/public_html/classes/functions.php on line 145
Ik leer zelf nog scripten en ben dus nog niet zo goed, mijn excuses.
Gr, mentimjojo