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

    Individuare n° telefonico e e-mail in stringa PHP

    Ciao a tutti,

    ho una stringa PHPn da pubblicare in una bacheca on-line.

    Il testo sarà più o meno complesso e potrà contenere parole e numeri.

    Ora con PHP dovrei estrarre eventuali numeri di telefono ed indirizzi e-mail in modo da poterli "oscurare con delle XXXXXXXXXX".

    Qualche consiglio?

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Direi con una regular expression

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Utente di HTML.it L'avatar di marty89
    Registrato dal
    Apr 2011
    Messaggi
    107
    Ciao, come dice giustamente neroux puoi sostituire delle stringhe utilizzando le espressioni regolari. In pratica ti crei due espressioni regolari per riconoscere i numeri di telefono e gli indirizzi e-mail e poi con ereg_replace vai a sostituirli con il testo che preferisci. Ti faccio un esempio:
    Codice PHP:
    $testo 'testo che contiene le stringhe che vuoi sostituire';
    $ereg_num_telefono 'espressione_regolare_telefono';
    $testo ereg_replace($ereg_num_telefono'XXXXXXXX'$testo); 
    Poi fai la stessa cosa con gli indirizzi mail. Attenzione che così la variabile $testo viene sovrascritta e non conterrà più il testo originario. Se ti serve anche quello creane una nuova.
    Spero di esserti stata utile

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Originariamente inviato da marty89
    con ereg_replace vai a sostituirli
    Non userei ereg_replace() però. E' deprecated già da un po'. L'alternativa è preg_replace().

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    Originariamente inviato da neroux
    Non userei ereg_replace() però. E' deprecated già da un po'. L'alternativa è preg_replace().
    Grazie per le risposte ... cmq credo vi sia qualcosa che non quadra ... ho provato con entrambe le funzioni: ereg_replace() e preg_replace() .

    codice:
    $stringa="Prova di sostituzione: miamail@mioserver.com"; 
    $stringa=ereg_replace("^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$]", "PHP", $stringa); 
    echo $stringa;
    
    $stringa="Prova di sostituzione: miamail@mioserver.com"; 
    $stringa=preg_replace("^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$]", "PHP", $stringa); 
    echo $stringa;
    ereg_replace stampa la mia stringa senza la sostituzione della mail.

    preg_replace prorio non funziona, nel senso che non stampa nulla. Dove sbaglio????

  6. #6
    Ciaonon sono un esperto, ma con preg_replace devi mettere gli / a inizio e fine sezione.
    ma non ricordo se così
    $stringa=preg_replace(\"^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$]\", "PHP", $stringa);
    o così
    $stringa=preg_replace(/"^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$]/", "PHP", $stringa);

    Fai prima a guardare sul sito ufficiale

  7. #7
    Codice PHP:
    $stringa "Prova di sostituzione: [email]miamail@mioserver.com[/email]"
    $stringa preg_replace("/[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+/""PHP"$stringa); 
    echo 
    $stringa
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Originariamente inviato da vecchio_joe
    Ciaonon sono un esperto, ma con preg_replace devi mettere gli / a inizio e fine sezione.
    ma non ricordo se così
    $stringa=preg_replace(\"^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$]\", "PHP", $stringa);
    o così
    $stringa=preg_replace(/"^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$]/", "PHP", $stringa);

    Fai prima a guardare sul sito ufficiale
    Grazie ora con la mail funziona

  9. #9
    Ora ho un secondo problema ...

    ho trovato questa espressione regolare che individua un numero telefonico se scritto nei seguenti formati:

    "+91-151-1234567", "01234567891", "+912345678901"

    codice:
    \+?([0-9]{2})-?([0-9]{3})-?([0-9]{6,7})
    il problema nasce se mi ritrovo un numero diviso dagli spazi ... ho provato diversi tentativi ma non so dove sbaglio

    es. 01 234 56 78 91

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2010
    residenza
    Pianeta Terra
    Messaggi
    1,614
    Devi aggiungere

    codice:
    \\s
    con il primo slash esci e \s sta per "space" --> spazio.


    esempio


    codice:
    ([0-9\\s]{2})-?([0-9\\s]{3})-?([0-9\\s]{6,7})
    Per una bella risata vai QUI

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.