<?php
$plugins->add_hook('postbit', 'hideip');
function hideip_info()
{
return array(
"name" => "hideip",
"description" => "Cambia una IP por otro texto",
"website" => "http://juliohurtado.com",
"author" => "Juliens",
"authorsite" => "http://juliohurtado.com",
"version" => "1.0",
"compatibility" => "14*,16*",
);
}
function hideip(&$post)
{
global $mybb;
$hideip_post= array(
'\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b' => ('tag que oculta la ip + ip'),
);
$post['message'] = str_replace(array_keys($hideip_post), array_values($hideip_post), $post['message']);
}
?>
Cita:str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazoEs decir que solo lo detectara & hará el reemplazo cuando se ingrese \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b ya que en ese momento habrá una aparición.
<?php
$post['message'] = preg_replace("/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/", "REEMPLAZO AQUÍ", $post['message']);
(17 Dec, 2012, 5:47 pm)Steeep escribió: Lo que pasa es que la detección de la IP no las estas tratando con una expresión regular.
Cita:str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazoEs decir que solo lo detectara & hará el reemplazo cuando se ingrese \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b ya que en ese momento habrá una aparición.
Pero vamos que no todo es malo XD
Lo que puedes hacer es usar preg_replace, creo que así:
Código PHP:<?php
$post['message'] = preg_replace("/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/", "REEMPLAZO AQUÍ", $post['message']);
(17 Dec, 2012, 7:15 pm)Omar G. escribió: ¿No se puede hacer esto con un MyCode?