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

    Ritorno di una stringa per XML da una funzione

    Ciao ragazzi ho un problema,io richiamo una funzione per eseguire l'evidenziazione di un testo e ho in ritorno la stringa con i tag se tale keyword è stata trovata, solo che non capisco il perchè quando io mando in ritorno per xml tale stringa ad Ajax,i tag non sono presenti!

    il codice è questo:

    Codice PHP:
    <?php
    #sostituisco la keyword trovata con i tag HTML

        
    $str str_ireplace(rtrim($var), '[b]'.$keywords.'[/b]'$str$count);
        return 
    $str;
    ?>
    creo il file XML
    Codice PHP:
    <?php
    # richiamo la funzione e ho in risposta le variabili
        
    $testoMod_T =  hightlight($titoloC$key);    
        
    $testoMod_C =  hightlight($contenutoC$key);    


    $strutturaXML '<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>'# inizio della creazione della struttura XML
    $strutturaXML .= '<estrazioneConversazione>';

        
    $strutturaXML .= '<test_uno><![CDATA[ '.$testoMod_T.' ]]></test_uno>';
        
    $strutturaXML .= '<test><![CDATA[ '.$testoMod_C.' ]]></test>';
        
    $strutturaXML .= '<testt><![CDATA[ [b]prova[/b] ]]></testt>';
        
        
    $strutturaXML .= '</estrazioneConversazione>';
        
    //generiamo la risposta
        
    if(ob_get_length()) ob_clean();
        
    header('Content-Type: text/xml');
        

    echo 
    $strutturaXML;

    ?>
    nel file XML i tag ci sono in tutte le parti ma in risposta ad Ajax ho i tag [b] solo in "prova"

    dove sbaglio?

  2. #2
    Effettivamente il problema ce l'hanno solo le stringhe che mi ritornano dalla chiamata alla funzione... Eppure nel file XML
    Sembrano uscire correttamente.... però facendo un test se io assemblo la stringa a mano mi va tranquillamente altrimenti
    se richiamo la funzione no...

    La funzione è la seguente:
    Codice PHP:
    <?php
    function hightlight($str$keywords '')
    {
        
    $keywords preg_replace('/\s\s+/'' 'strip_tags(trim($keywords))); // filter
        
    $var '';
      
        foreach(
    explode(' '$keywords) as $keyword)
        {
            
    $replacement "$keyword";    #"<span class='".$style."'>".$keyword."</span>";
            
    $var .= $replacement." ";
        
            
    $str str_ireplace($keyword$replacement$str);
        }
        
    $str str_ireplace(rtrim($var), '[b]'.$keywords.'[/b]'$str$count);
        return 
    $str;
    }
    ?>
    Dove sbaglio?

  3. #3
    Ho scoperto che il problema sta in $key, la chiave di ricerca, perchè acquisisco così:

    $key = $_GET['key']; # chiave da ricercare

    ma se io la inizializzo in questo modo:
    $key = 'multipla';

    tutto funziona!
    Come potrei ovviare al problema?

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.