Domanda

Im using http://www.internoetics.com/2010/01/12/simple-whois-php-script/ PHP whois script and i need to config it for newest PHP version, i need convert ereg and eregi to preg_match and preg_replace

if ( (!eregi('^[a-zA-Z0-9-]+\.([a-zA-Z]{2,4})$', $domain)) && (!eregi('^[a-zA-Z0-9-]+\.([a-zA-Z]{2,4})+\.([a-zA-Z]{2,4})$', $domain)) ) $arrErrors['domi'] = 'Domain name appears to be invalid.';

function makeClickableLinks($text)
{
        $text = html_entity_decode($text);
        $text = " ".$text;
        $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
                '<a href="\\1" target=_blank>\\1</a>', $text);
        $text = eregi_replace('(((f|ht){1}tps://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
                '<a href="\\1" target=_blank>\\1</a>', $text);
        $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)',
        '\\1<a href="http://\\2" target=_blank>\\2</a>', $text);
        $text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})',
        '<a href="mailto:\\1" target=_blank>\\1</a>', $text);
        return $text;
}

Thanks

È stato utile?

Soluzione

For preg_* functions you need add only delimiters for example / or # or other, in start and end of the pattern.

Write this

if ( (!preg_match('/^[a-z\d-]+\.([a-z]{2,4})$/i', $domain)) && (!preg_match('/^[a-z\d-]+\.([a-z]{2,4})+\.([a-z]{2,4})$/', $domain)))
    echo $arrErrors['domi'] = 'Domain name appears to be invalid.';

function makeClickableLinks($text)
{
        $text = html_entity_decode($text);
        $text = " ".$text;
        $text = preg_replace('#(((f|ht){1}tp://)[-a-z\d@:%_\+.~\#?&//=]+)#',
                '<a href="\\1" target=_blank>\\1</a>', $text);
        $text = preg_replace('#(((f|ht){1}tps://)[-a-z\d@:%_\+.~\#?&//=]+)#',
                '<a href="\\1" target=_blank>\\1</a>', $text);
        $text = preg_replace('#([[:space:]()[{}])(www.[-a-z\d@:%_\+.~\#?&//=]+)#',
        '\\1<a href="http://\\2" target=_blank>\\2</a>', $text);
        $text = preg_replace('#([_\.\da-z-]+@([\da-z][\da-z-]+\.)+[a-z]{2,3})#',
        '<a href="mailto:\\1" target=_blank>\\1</a>', $text);
        return $text;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top