Visualizzazione risultati 1 fino 12 di 12

Discussione: [PHP] Problema con espressione regolare

  1. #1
    Guest

    Predefinito [PHP] Problema con espressione regolare

    Ciao a tutti, ho un problema con un preg_replace: vorrei sostituire con le regex un testo ...ma non ci riesco! Uso:
    Codice PHP:
    preg_replace("/(\(.+)) -\/","",$var);
    No ending delimiter '/' found [...]
    Il testo è di 3 parole in questa forma: (xyz) - oppure può essere (XYZ) - oppure (Xyz) -, ecc.... inoltre vorrei se ad esempio venisse aggiunta per sbaglio una cosa del genere (Xyz() - che la regex si attivasse ugualmente...
    Grazie mille! ^^"

  2. #2
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Non si capisce cosa hai voluto fare in quella espressione.
    Comunque se ho capito bene:
    Codice PHP:
    preg_replace("/\(.+\)/", "", $var);
    P.S. Se il testo contenuto tra le parentesi () è di 3 lettere esatte:
    Codice PHP:
    preg_replace("/\(.{3}\)/", "", $var);
    Ultima modifica di mycarlo : 13-01-2010 alle ore 22.30.49

  3. #3
    Guest

    Predefinito

    Ok, Grazie. Invece come potresti saltare ridurre tutta la stringa minuscola e dopo rendere maiuscola la prima lettera? Così non funziona... .-.
    Codice PHP:
    $item->title = strtolower($item->title);
    $item->title = ucfirst($item->title);
    Grazie mille! <3

  4. #4
    Guest

    Predefinito

    Testata e funzionante:
    Codice PHP:
    <?php
    function uc_first($string)
    {
    $string = strtolower($string);
    $first = substr($string, 0, 1);
    $after = substr($string, 1);

    $first = strtoupper($first);
    $string = "{$first}{$after}";

    return
    $string;
    }
    ?>

  5. #5
    Guest

    Predefinito

    Qualcosa di più semplice? xD
    Dovrebbe funzionare in quel modo ma non capisco perché non funziona! :S

  6. #6
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    In realtà dovrebbe funzionare già con il codice che hai scritto tu sopra, cioè usando strtolower e ucfirst senza l'aggiunta di altre funzioni.

    Cioè se tu intendi:
    Codice:
    StRiNgA -> stringa -> Stringa
    Hai provato applicare tutte due le funzioni in una sola riga?

    Codice PHP:
    $item->titolo = ucfirst(strtolower($item->titolo));
    Non so che dirti, forse è colpa di simplexml?

  7. #7
    Guest

    Predefinito

    Sisi ho provato anche con quella! xD
    Vi posto il codice...
    Codice PHP:
    foreach($siti as $file) {
    $rss = new SimpleXMLElement($file,NULL,TRUE);
    }

    foreach(
    $rss->channel->item as $item) {

    #$item->title = strtolower($item->title); $item->title = ucfirst($item->title);
    #$item->title = ucfirst(strtolower($item->title));

    echo "<h2>{$item->title}</h2>\n";
    echo
    "<p>{$item->description}</p>\n\n";
    }
    Grazie mille! *-*

  8. #8
    Guest

    Predefinito

    zomer, guarda che penso siano commentate semplicemente per evidenziare la porzione di codice che non funziona. Comunque anche secondo me la cosa potrebbe essere dovuta a SimpleXML. Prova a fare un var_dump($item->title) e vedi cosa restituisce.

  9. #9
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Citazione Originalmente inviato da zomer Visualizza messaggio
    io mi vergonere se fossei nel tuo maestro...
    Zomer ti amo


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da alessandro1997 Visualizza messaggio
    Comunque anche secondo me la cosa potrebbe essere dovuta a SimpleXML [...]
    Mi restituisce questo: object(SimpleXMLElement)#5 (1) { [0]=> string(58) " il titolo deve essere inserito qui" }
    Grazie mille Alessandro! ^^"
    Ultima modifica di sIM : 14-01-2010 alle ore 19.39.31

  11. #11
    Guest

    Predefinito

    Ti chiedo scusa sIM e chiedo scusa a tutti,

    Scusatemi tanto, ma mio fratello è entrato nel mio account. Avevo la password salvata chiedo nuovamente scusa..

  12. #12
    Guest

    Predefinito

    Risolto zomer!
    ...io aspetto ancora una soluzione per quel problema! :D

Regole di scrittura

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