Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    estrarre parola da una stringa

    salve a tutti. ho una stringa e dovrei estrarre una parola da essa, contenuta tra altre due.

    per l'esattezza

    $stringa = "[titolo]titolodellapagina[/titolo]altrotesto";

    dovrei riuscire ad ottenere

    $titolo = "titolodellapagina";

    come faccio ad eliminare "[titolo]" e "[/titolo]" sapendo che

    1) titolodellapagina è di lunghezza variabile e
    2) altrotesto è di lunghezza variabile ?

    grazie a chiunque possa darmi una mano.

  2. #2
    ti scorri la stringa e vedi se i primi 8 caratteri è = [titolo] e gli ultimi 9 è = [/titolo] e ti prendi quello che c'è in mezzo, sempre se ho capito bene
    evilsaint

  3. #3

  4. #4
    ok
    evilsaint

  5. #5
    edit: funziona tutto.

    Codice PHP:
    $output "<title>mio titolo variabile</title> resto della stringa variabile";

    if(
    eregi("<title>(.+)</title>"$output$regs)) {

    echo 
    "$regs[1]";

    } else {

    echo 
    "Titolo non trovato";


    grazie a tutti

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    preg_match('#<title>(.*)</title>#i',$output,$mth);
    echo $mth[1];

  7. #7
    Originariamente inviato da nicola75ss
    codice:
    preg_match('#<title>(.*)</title>#i',$output,$mth);
    echo $mth[1];
    ok, quella sopra funziona: mi puoi spiegare la tua?

    1) perchè "#" ?
    2) perchè "*" e non "+"?
    3) perchè "#i" alla fine?

    vorrei capirci un po' di più. grazie.

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Allora, la i alla fine significa che il confronto deve essere case insensitive, cioè insensibile alla differenza tra maiuscole e minuscole. Se i tuoi tag fossero TITLE anzichè title, senza quel modificatore la ricerca non avrebbe buon esito.

    I # sono semplicemente dei delimitatori dell'espressione regolare. Non è obbligatorio usare quelli, puoi usare lo slash o ciò che preferisci, basta che coincidano quello iniziale e quello finale.

    L'asterisco cerca 0 o più occorrenze, mentre il + una o più occorrenze.


    http://se.php.net/manual/it/referenc...ern.syntax.php

  9. #9
    Originariamente inviato da nicola75ss
    Allora, la i alla fine significa che il confronto deve essere case insensitive, cioè insensibile alla differenza tra maiuscole e minuscole. Se i tuoi tag fossero TITLE anzichè title, senza quel modificatore la ricerca non avrebbe buon esito.

    I # sono semplicemente dei delimitatori dell'espressione regolare. Non è obbligatorio usare quelli, puoi usare lo slash o ciò che preferisci, basta che coincidano quello iniziale e quello finale.

    L'asterisco cerca 0 o più occorrenze, mentre il + una o più occorrenze.


    http://se.php.net/manual/it/referenc...ern.syntax.php
    grazie mille, sei stato gentilissimo

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.