Visualizzazione risultati 1 fino 9 di 9

Discussione: strpos()

  1. #1
    Guest

    Predefinito strpos()

    Codice PHP:
    <?PHP
    $tit
    = <<<HTML
    <![CDATA[{title}]]>
    HTML;

    if(
    strpos($tit,"syren"))
    {
    $f="2121021";
    $t="5454";
    }
    elseif(
    strpos($tit,"live"))
    {
    $f="33";
    $t="25";
    }

    ///////////////////// TEMPLATE rss /////////////////////
    $template_active = <<<HTML
    <item>
    <title><![CDATA[{title}]]></title>
    <link>{rss-news-include-url}?f=
    {$f}&amp;t={$t}&amp;tit={$tit}</link>
    <description><![CDATA[{short-story}]]></description>
    <guid isPermaLink="false">{news-id}</guid>
    <pubDate>{date}</pubDate>
    </item>
    HTML;
    ?>
    il mio problema è che non mi entra negli IF e non mi varia i valori di $t e $f...
    ho controllato che dentro la varabile tit il nome cambia, e che assuma Alive e Psyren...

    il risultato è questo:
    Alive
    *********?f=&t=&tit=Alive
    prova

    Psyren 17
    *********?f=&t=&tit=Psyren 17
    Rilasciato capitolo 17!!
    Ultima modifica di hastaforum : 09-04-2008 alle ore 00.28.35

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

    Predefinito

    Sei sicuro che questo:

    Codice PHP:
    $tit= <<<HTML
    <![CDATA[{title}]]>
    HTML;
    sia corretto? 'title' l'hai scritto come una costante, ma suppongo debba essere una variabile.

    Inoltre attento che strpos potrebbe benissimo restituirti uno zero, per cui il controllo corretto da fare è:

    Codice PHP:
    if(strpos($tit,"syren") !== false)


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


  3. #3
    Guest

    Predefinito

    Codice PHP:
    $tit= <<<HTML
    <![CDATA[{title}]]>
    HTML;
    sono sicurissimo perchè mi da questo risultato:

    Alive
    *********?f=&t=&tit=Alive
    prova

    Psyren 17
    *********?f=&t=&tit=Psyren 17
    Rilasciato capitolo 17!!
    ed il codice è così:

    <link>{rss-news-include-url}?f={$f}&amp;t={$t}&amp;tit={$tit}</link>
    poi ho provato anche con !==FALSE, ma fa lo stesso lavoro...
    Ultima modifica di hastaforum : 09-04-2008 alle ore 13.22.47

  4. #4
    Guest

    Predefinito

    non ne sono sicuro, ma forse il problema potrebbe essere dovuto alla visibilità delle variabili, prova a dichiarare $f e $t e comunque utilizza la sintassi consigliata da saitfainder.
    ciao

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

    Predefinito

    La faccenda del !==FALSE era solo un avviso per evitarti problemi in un futuro.

    Per il resto mi sembra che mi sfugga qualcosa perché eseguendo quello che hai postato e stampando $template_active ottengo questo:

    Codice HTML:
    <item>
    <title><![CDATA[{title}]]></title>
    <link>{rss-news-include-url}?f=&amp;t=&amp;tit=<![CDATA[{title}]]> </link>
    <description><![CDATA[{short-story}]]></description>
    <guid isPermaLink="false">{news-id}</guid>
    <pubDate>{date}</pubDate>
    </item>
    Probabilmente perché farai processare $template_active a qualche altra funzione, ma al momento delle IF avrai $tit = "<![CDATA[{title}]]>" e quindi le condizioni sono false e il risultato non è quello desiderato.


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


  6. #6
    Guest

    Predefinito

    aaaaaaaa, ho capito....
    e come faccio a prelevare ciò che c'è dentro a <![CDATA[{title}]]>?
    vi spiego, questo è il sistema delle rss di cutenews... e volevo modificare il link che va sotto ogni oggetto...

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

    Predefinito

    Temo che nel punto in cui sei intervenuto non sia possibile, a meno di poter recuperare il valore di {title} in qualche maniera, ammesso che quel pezzo di codice sia eseguito tutte le volte, ma purtroppo ignoro il come perché non conosco l'applicativo.


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


  8. #8
    Guest

    Predefinito

    che poi il bello è che se invece di strpos() metto strrpos() mi entra sempre...

  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

    Può essere che sei capitato qui?

    Fare attenzione che needle , in PHP 4, può essere solo un singolo carattere. Se si passa una stringa, verrà utilizzato solo il primo carattere.


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


Regole di scrittura

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