modifica corretta funzione da eregi() a preg_match()

giuliox13

Utente Attivo
27 Mar 2017
30
1
8
34
Buonasera, volevo il vostro aiuto per modificare una piccola parte di codice contenuto in una pagina php. Prima dell'aggiornamento della versione di php la funzione eregi() funzionava ora ovviamente non più e ho modificato tale funzione in preg_match().
C'è però anche un altro problema, prima sul file messaggi, passando con il mouse sopra al nick, data e ora, compariva la città, l'altezza s.l.m e provincia, ora compaiono solo due parentesi senza nulla dentro. Come mai?
Ovviamente mi dimentico di qualche cosa, potete vedere se la sintassi è scritta corretta o manca qualcosa? grazie

PHP:
<html>
<head>
<title>Messaggi degli utenti</title>
<?php
include("config1.php");
echo "<meta http-equiv=\"refresh\" content=\"$time_refresh\">";
?>
</head>
<body bgcolor="white">
<?php
//Creo l'array dove inserirò le informazioni
$rows_utenti_info = array();
//Leggo il file utenti
$rows_utenti=file($file_reg);
foreach($rows_utenti AS $v) 
  { 
   $tmp = explode('|', $v);
  $rows_utenti_info[$tmp[0]]['citta'] = $tmp[6];
    $rows_utenti_info[$tmp[0]]['provincia'] = $tmp[5];
} 
 
if (!(file_exists($file_mess))) {
    $fpw = fopen($file_mess,"w"); fclose($fpw);
}

$rows_file=file($file_mess);
$rows_file_ord=array_reverse($rows_file);
$count=count($rows_file_ord);
for ($i=0;($i<$count && $i<$num_messag);$i++)
{
    $dati_utente=explode("|",$rows_file_ord[$i]);
    $nick=$dati_utente[0];
    preg_match("\[(.*)\] \[(.*)\] (.*)", $nick, $regnick); 
    $nick_orig=$regnick[3];
    $msg=$dati_utente[1];
    $nick=stripslashes($nick);
    $msg=stripslashes($msg);
    $nick = str_replace('[em1]','<img src="emoticons/em1.gif">',$nick);
    $msg = str_replace('[em1]','<img src="emoticons/em1.gif">',$msg);
    for ($x=1;$x<57;$x++)
    {
        $img="em".$x;
        $img2="[".$img."]";
        $path="<img src=\"emoticons/$img.gif\">";
        $msg = str_replace("$img2","$path",$msg);
    }
    for ($x=1;$x<57;$x++)
    {
        $img="em".$x;
        $img2="[".$img."]";
        $path="<img src=\"emoticons/$img.gif\">";
        $nick = str_replace("$img2","$path",$nick);
    }
    
if(preg_match("http://([^<>[:space:]]+)", $msg, $regs))
$msg = str_replace('http://'.$regs[1], '<a href="http://'.$regs[1].'" target="_blank">link</a>', $msg);

if(preg_match("https://([^<>[:space:]]+)", $msg, $regs))
$msg = str_replace('https://'.$regs[1], '<a href="https://'.$regs[1].'" target="_blank">link</a>', $msg);

    echo "<b><font face=\"verdana\" size=\"2\" color=\"#000000\"><a title=\"".$rows_utenti_info[$nick_orig]['provincia']." (".$rows_utenti_info[$nick_orig]['citta'].")\">$nick</a></font>: </b>"."<font face=\"verdana\" size=\"2\">".$msg."</font><br>";
}
?>
</body>
</html>
 
Ultima modifica:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.250
324
83
Correggi il post mettendo il codice che hai postato tra gli appositi tag
PHP (2).png


Grazie