2013-08-27 1 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); 

감사 :

여기 내 코드입니다! 당신은 소스와 예상되는 문자열을 추가하십시오 수 있습니다, 그런데

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

:

+0

가능한 복제본 [어떻게 PHP에서 preg로 변환 할 수 있습니까?] (http://stackoverflow.com/questions/6270004/how-can-i-convert-ereg-expressions-to-pregin- PHP) –

+0

사실,이 주제를보고, 내 변수를 수정하는 방법을 이해하지 못합니다 : | – user2720263

답변