PHP - Problema con preg_replace

 
Vista:
sin imagen de perfil

Problema con preg_replace

Publicado por Jesús (1 intervención) el 30/11/2017 12:51:37
Buenos días, hoy actualice mi xampp y para mi desgracia, surgieron problemas, pude resolver todos a excepción de uno
"Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in D:\xampp\htdocs\opinador\bbcode\bbcode.php on line 10"

Resulta que yo uso un bbcode (no soy el autor, solo lo tome de un tutorial) para los textarea para que me quede todo mas cómodo al redactar un texto.
El codigo en conflicto es el siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function bbcode($texto) {
	$texto = nl2br(htmlentities($texto));
	$texto= stripslashes($texto);
	$texto = str_replace("(code]", "<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\"><tr><td><div align=\"left\" style=\"padding:5px;margin:5px;\"><div style=\" background-color:#E1ECFF;border-color:#404040;border-style:solid;border-width:2px;border-radius:5px;font-size:11px;margin:0px;overflow:auto;padding:6px;text-align:left;width:330px;\">[code]", $texto);
	$texto = str_replace("(code]", "(/code]<br /></div></div></td></tr></table>", $texto);
 	$texto = str_replace('&quot;','"',$texto);
    $simple_search = array('/\[\|x\|\]/is','/\[\=p\]/is','/\[\;\)\]/is','/\[\:o\]/is','/\[\:\)\]/is','/\[\:s\]/is','/\[&lt;8\]/is','/\[d\=\]/is','/\[\:Q\]/is','/\[\:D\]/is','/\[\:\(\]/is','/\[8\)\]/is','/\[\:_o\]/is','/\[\:\|\]/is','/\[quote\](.*?)\[\/quote\]/is','/\[b\](.*?)\[\/b\]/is','/\[v\](.*?)\[\/v\]/is','/\[i\](.*?)\[\/i\]/is','/\[u\](.*?)\[\/u\]/is','/\[a href\=(.*?)\](.*?)\[\/a\]/is','/\[img src\=(.*?)\]/','#\(code\](.*?)\(\/code\]#se');
    $simple_replace = array('<img src="bbcode/emoticons/e14.gif">','<img src="bbcode/emoticons/e12.gif">','<img src="bbcode/emoticons/e10.gif">','<img src="bbcode/emoticons/e8.gif">','<img src="bbcode/emoticons/e6.gif">','<img src="bbcode/emoticons/e2.gif">','<img src="bbcode/emoticons/e13.gif">','<img src="bbcode/emoticons/e11.gif">','<img src="bbcode/emoticons/e9.gif">','<img src="bbcode/emoticons/e7.gif">','<img src="bbcode/emoticons/e5.gif">','<img src="bbcode/emoticons/e1.gif">','<img src="bbcode/emoticons/e3.gif">','<img src="bbcode/emoticons/e4.gif">',"<table align=\"left\" cellpadding=\"0\" cellspacing=\"0\"><tr><td><div align=\"left\" style=\"padding:5px;margin:5px;\"><div style=\" background-color:#93BCFF;border-color:#404040;border-style:solid;border-width:2px;border-radius:5px;font-size:11px;margin:0px;overflow:auto;padding:6px;text-align:left;width:330px;\">$1<br /></div></div></td></tr></table>",'<strong>$1</strong>','<div id="inbar"></div>','<em>$1</em>','<u>$1</u>','<a href=$1>$2</a>','<img src=$1 alt=$1 />',"highlight_string(stripslashes(html_entity_decode(str_replace('<br />','','$1'))), true)");
    $texto = preg_replace ($simple_search, $simple_replace, $texto);
    return $texto;
}
?>

Bien, se que tengo que usar "preg_replace_callback" en vez de "preg_replace", solo que al hacerlo me siguen saliendo errores, uno atrás de otro y termino frustrado.
Alguien de aquí podría darme una mano con esto? estoy atascado y no quiero tener que volver a una versión anterior solo para hacerlo funcionar. Gracias! Un abrazo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder