Visualizzazione risultati 1 fino 10 di 10

Discussione: Cercare come strrpos() ma il penultimo carattere ricorrente

  1. #1
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito Cercare come strrpos() ma il penultimo carattere ricorrente

    Ciao a tutti,

    vorrei fare una cosa con php: cercare la penultima ricorrenza di un carattere in una stringa, più o meno come fa strripos() ma voglio la penultima.

    Quello che vorrei fare è elaborare un record DNS e trasformarlo in una stringa contenente un dominio di secondo livello.

    Esempio:
    fispnv.39-f.fsag.i.sito.net
    php me lo deve trasformare in
    sito.net


    Mi aiutate?

    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Non puoi far altro che combinare per bene le funzioni stringa di PHP, questo è il risultato:
    Codice PHP:
    <?php
    $record
    = "fispnv.39-f.fsag.i.sito.net";
    $sito = substr ($record, strrpos ($record, '.', strrpos ($record, '.') - strlen ($record)));
    ?>
    In teoria dovrebbe funzionare, se non ho fatto casino con gli indici...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da dementialsite Visualizza messaggio
    Non puoi far altro che combinare per bene le funzioni stringa di PHP, questo è il risultato:
    Codice PHP:
    <?php
    $record
    = "fispnv.39-f.fsag.i.sito.net";
    $sito = substr ($record, strrpos ($record, '.', strrpos ($record, '.') - strlen ($record)));
    ?>
    In teoria dovrebbe funzionare, se non ho fatto casino con gli indici...

    Stammi bene...
    Questo codice ti ritorna .net e non sito.net.

    Io direi di provare con

    Codice PHP:
    <?php
    $record
    = "fispnv.39-f.fsag.i.sito.net";
    $p = '/(\w)+\.(\w)+$/';

    preg_match($p, $record, $sito);

    echo
    $sito[0];
    ?>
    In pratica l'espressione regolare cerca tutti i caratteri di una parola seguiti dal punto ed ancora da altri caratteri di parola e dalla fine.
    Ultima modifica di simpleticket : 14-10-2011 alle ore 08.44.45

  4. #4
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Grazie simpleticket, funziona.

    E se mi vorrei fermare al 3° livello?




    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da foreach Visualizza messaggio
    Grazie simpleticket, funziona.

    E se mi vorrei fermare al 3° livello?




    Grazie,
    foreach
    Prova a capire come funziona.
    Ti ho scritto cosa fa l'espressione regolare. ( il segnaposto \w indica un qualsiasi carattere di parola). la risposta è proprio lì
    Ultima modifica di simpleticket : 14-10-2011 alle ore 14.38.13

  6. #6
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Per me è questo:
    Codice PHP:
    $p = '/(\w)+/(\w)+\.(\w)+$/';
    Giusto?




    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da foreach Visualizza messaggio
    Per me è questo:
    Codice PHP:
    $p = '/(\w)+/(\w)+\.(\w)+$/';
    Giusto?




    foreach
    quasi

    Codice PHP:
    $p = '/(\w)+\.(\w)+\.(\w)+$/';

  8. #8
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Capito, così vale anche se mi voglio fermare al quarto livello, giusto?



    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da foreach Visualizza messaggio
    Capito, così vale anche se mi voglio fermare al quarto livello, giusto?



    foreach
    Si, esatto.

  10. #10
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Va bene, grazie simpleticket.



    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •