Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    str_replace "\" "(" ")"

    ho il seguente problema
    devo eliminare da una stringa i seguenti simboli

    "\" "(" ")" ma con str_replace non mi funzione in quanto vengono ad essere interpretati come aperture e chiusure di parentesi e come slash davanti alle virgolette...

    Per capirci meglio vi posto la semplice funzione che ho realizzato per validare un numero di telefono il problema si presnete in $simbol...

    Codice PHP:
    <?php
    function validate_telef($number)
        {
        
    $simbol=array("\", "(", ")", "/", "-", ".", " ", "+");
        
    $number=str_replace($simbol, "", $number);
        
    $number=stripslashes($number);
        if(  (is_numeric(
    $number))  &&  (strlen($number)>8)  )
            {
            
    $control=1;
            }
        else
            {
            
    $control=0;
            
    $number="";
            }
        
    $result=array($control$number);
        return 
    $result;
        }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    ma se stai facendo il tutto per vedere se è un numero di telefono ti consiglio di utilizzare is_numeric

    Codice PHP:

    function sei_un_numero_telefonico ($number) {

    $number str_replace(" " ""$number );

    $number str_replace("+" ""$number);

    if ( 
    is_numeric($number) ) {

    $risp "Si";

    } else {

    $risp "No";

    }

    return 
    $risp;


    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  3. #3
    codice:
    "\"  <- non va bene
    "\\" <- va bene

  4. #4
    Originariamente inviato da StarFinger
    ma se stai facendo il tutto per vedere se è un numero di telefono ti consiglio di utilizzare is_numeric
    Ehm sta gia' usando is_numeric

  5. #5
    Originariamente inviato da k.b
    codice:
    "\"  <- non va bene
    "\\" <- va bene
    Già avevo provato...

    In questo modo l'errore php non compare...
    Ma un numero scritto così "333\1122333" mi risulta non valido

    (non uso il tag [PHP] altrimenti i siboli \ non compaiono correttamente)
    <?php
    function validate_telef($number)
    {
    $simbol=array("\\", "/", "-", ".", " ", "+");
    $number=str_replace($simbol, "", $number);
    $number=stripslashes($number);
    if( (is_numeric($number)) && (strlen($number)>8) )
    {
    $control=1;
    }
    else
    {
    $control=0;
    $number="";
    }
    $result=array($control, $number);
    return $result;
    }

    $numero="333\1122333";
    $control=validate_telef($numero);

    echo $control[0];
    ?>

  6. #6
    codice:
    function is_phone_number($number) {
        $number = preg_replace('#[/\\\\. +-]#', '', $number);
        if ( is_numeric($number) AND strlen($number) > 8 ) {
            return $number;
        }
        return FALSE;
    }

  7. #7
    Non funziona...
    <?php
    function is_phone_number($number) {
    $number = preg_replace('#[/\\\\. +-]#', '', $number);
    if ( is_numeric($number) && strlen($number) > 8 )
    {
    $control=1;
    }
    else
    {
    $control=0;
    $number="";
    }
    $result=array($control, $number);
    return $result;
    }

    $numero="333\1122333";
    $verifica=is_phone_number($numero);

    echo $verifica[0];
    ?>

  8. #8
    Perche' adesso il problema e' nel numero che gli passi: \1 viene riconosciuto come un carattere speciale, quindi o raddoppi il backslash oppure usi gli apici invece delle virgolette doppie.

    Ma perche' ritornare un array? Non e' meglio ritornare il numero se il controllo ha successo e FALSE altrimenti?

  9. #9
    Originariamente inviato da k.b
    Perche' adesso il problema e' nel numero che gli passi: \1 viene riconosciuto come un carattere speciale, quindi o raddoppi il backslash oppure usi gli apici invece delle virgolette doppie.
    Non ho capito... dove mettere gli apici al posto delle virgolette e/o raddoppiare i blackslashe

    Originariamente inviato da k.b
    Ma perche' ritornare un array? Non e' meglio ritornare il numero se il controllo ha successo e FALSE altrimenti?
    si... faccio così solo in questa fase di test...

  10. #10
    codice:
    $numero = "333\1122333";  // sbagliato 
    $numero = "333\\1122333"; // ok
    $numero = '333\1122333';  // ok

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.