2013-08-27 77 views
0

我实际上使用了一段我以前用过的脚本,当我把它放入我的网站时,出现错误“Deprecated:Function ereg()& ereg_replace )”。我实际上无法理解如何修改preg()中的ereg()事物。如果有人能够,我会感激!已淘汰:Function ereg()&ereg_replace()

这里是我的代码:

// couleur 
    $t=str_replace("[/color]", "</span>", $t); 
    $regCouleur="\[color= ?(([[:alpha:]]+)|(#[[:digit:][:alpha:]]{6})) ?\]"; 
    $t=ereg_replace($regCouleur, "<span style=\"color: \\1\">", $t); 

    // taille des caractères 
    $t=str_replace("[/size]", "</span>", $t); 
    $regCouleur="\[size= ?([[:digit:]]+) ?\]"; 
    $t=ereg_replace($regCouleur, "<span style=\"font-size: \\1px\">", $t); 

    // lien 
    $regLienSimple="\[url\] ?([^\[]*) ?\[/url\]"; 
    $regLienEtendu="\[url ?=([^\[]*) ?] ?([^]]*) ?\[/url\]"; 
    if (ereg($regLienSimple, $t)) $t=ereg_replace($regLienSimple, "<a href=\"\\1\">\\1</a>", $t); 
    else $t=ereg_replace($regLienEtendu, "<a href=\"\\1\" target=\"_blank\">\\2</a>", $t); 

    // mail 
    $regMailSimple="\[email\] ?([^\[]*) ?\[/email\]"; 
    $regMailEtendu="\[email ?=([^\[]*) ?] ?([^]]*) ?\[/email\]"; 
    if (ereg($regMailSimple, $t)) $t=ereg_replace($regMailSimple, "<a href=\"mailto:\\1\">\\1</a>", $t); 
    else $t=ereg_replace($regMailEtendu, "<a href=\"mailto:\\1\">\\2</a>", $t); 

    // image 
    $regImage="\[img\] ?([^\[]*) ?\[/img\]"; 
    $regImageAlternatif="\[img ?= ?([^\[]*) ?\]"; 
    if (ereg($regImage, $t)) $t=ereg_replace($regImage, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $t); 
    else $t=ereg_replace($regImageAlternatif, "<img src=\"\\1\" alt=\"\" border=\"0\" />", $t); 

    // Video 

    $regVidSimple="\[video\] ?([^\[]*) ?\[/video\]"; 
    $regVidEtendu="\[video ?=([^\[]*) ?] ?([^]]*) ?\[/video\]"; 
    if (ereg($regVidSimple, $t)) $t=ereg_replace($regVidSimple, "<p style=\"text-align: center;\"><object style=\"background-color: rgb(255, 255, 204); background-position: 50% 50%;\" data=\"\\1\" type=\"application/x-shockwave-flash\" height=\"190\" width=\"240\"><param name=\"src\" value=\"\\1\"></object></p>", $t); 
    else $t=ereg_replace($regVidEtendu, "<iframe title=\"YouTube video player\" width=\"240\" height=\"190\" src=\"\\1\" frameborder=\"0\" allowfullscreen>\\2</iframe>", $t); 

谢谢您的回答!

+0

可能的重复[如何将ereg表达式转换为PHP中的preg?](http://stackoverflow.com/questions/6270004/how-can-i-convert-ereg-expressions-to-preg-in- php) –

+0

我其实不明白,看这个话题,如何修改我的变量: – user2720263

回答

0

试试这个:

$regCouleur="/\[color=\s+(([[:alpha:]]+)|(#[[:digit:][:alpha:]]{6}))\s+\]/"; 
$t=preg_replace($regCouleur, "<span style=\"font-size: \\1px\">', $t); 

顺便说一句,你可以请添加源和预期字符串?