Visualizzazione risultati 1 fino 2 di 2

Discussione: Come trasformare in variabile una parte di una stringa?

  1. #1
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito Come trasformare in variabile una parte di una stringa?

    Salve raga :)
    Io ho questo codice:
    Codice PHP:
    $array = array(
    "testo. (autore)",
    "testo1 (autore test)",
    );
    In una pagina che le elenca tutte farò si che la stringa rimanga integra (fin qui ci sono), in un'altra dovrò stampare la singola stringa (e ci sono anche qui) rimuovendo però la zona tra parentesi (e l'ho fatto).
    Il problema è che non riesco a convertire la zona tra parentesi in una variabile da usare come "title" della stringa
    Codice PHP:
    // Estraggo una riga a caso tra quelle nell'array ed aggiungo gli apici
    $singola = '"'.$array[array_rand($array)].'"';

    // Rimuovo l'autore dalla riga singola per ottimizzare gli spazi
    $singola = preg_replace( "`( \((.*)\))`is", "",$singola);

    // Stampo la riga a caso convertendo tutti i caratteri speciali
    $singola = '<a href="link" title="???" style="color:#CDCDCD;">'.htmlentities($singola, ENT_QUOTES).'</a>';
    Insomma devo rimuoverla "testualmente" dalla singola e inserirla nella stessa nel title lasciando inalterata la lista intera (mi son confuso da solo).

    -
    Edit: ho aggirato il problema apportando modifiche al template.
    Ultima modifica di darkwolf : 10-02-2010 alle ore 18.15.39
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


  2. #2
    L'avatar di matt93
    matt93 non è connesso Utente
    Data registrazione
    01-09-2008
    Messaggi
    241

    Predefinito

    Usa preg_match()

    Codice PHP:
    // Estraggo una riga a caso tra quelle nell'array ed aggiungo gli apici
    $singola = '"'.$array[array_rand($array)].'"';

    // Rimuovo l'autore dalla riga singola per ottimizzare gli spazi
    $singola = preg_match( "`( \((.*)\))`is", $singola,$store);

    // Ed ora array!
    // A memoria non so quale sia la variabile giusta, nè se la regex è giusta, ma pigliati quello che serve con print_r
    print_r($store);
    $singola = preg_replace( "`( \((.*)\))`is", "",$singola);

    // Stampo la riga a caso convertendo tutti i caratteri speciali
    $singola = '<a href="link" title="???" style="color:#CDCDCD;">'.htmlentities($singola, ENT_QUOTES).'</a>';

Regole di scrittura

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