0

我实际上使用的是我多年前使用的脚本,当我将其放入我的网站时,我收到错误“已弃用:函数 ereg() 和 ereg_replace()”。我实际上无法理解如何修改 preg() 事物中的 ereg() 事物。如果有人能够做到,我将不胜感激!

这是我的代码:

   // 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);

感谢您的回答!

4

1 回答 1

0

尝试这个:

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

顺便说一句,您能否添加一个来源和预期的字符串?

于 2015-06-24T16:38:17.827 回答