Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011

    quando trova l'apostrofo si inceppa

    In pratica ho questa funzione che da una frase crea una lista di keyword, in realtà la funzione è + complessa però credo che il problema risieda qui, in pratica quando la frase ha un apostrofo incomincia a dare i numeri:

    Codice PHP:
      function generateKeywords$content ) {
                global 
    $GWP;
                
    //Filtering other GWP tags
                
    $post_content   preg_replace"/[%]{2,}[a-zA-z0-9\-\:]{3,}[%]{2,}/"""$content );

                
    //Removing html formatting
                
    $post_content   strip_tags$post_content );
        
                
    //Removing special chars
                
    $post_content   str_replace$GWP['MetaAdmin']['SpecialChars'], ' '$post_content );
                
    $post_content   strtolower$post_content );


                
    //Making keyword list
                
    $keywords explode' '$post_content );
                
    //Removing short words
                
    foreach ( $keywords as $key=>$val ) {
                    if ( 
    strlen($val) <= $GWP['MetaAdmin']['MinLength'] ) {
                        unset( 
    $keywords[$key] );
                    }
                }

                
    //Ranking keywords
                
    $keywords array_count_values$keywords );
                
    arsort$keywords );
                
    $keywords array_slice$keywords0$GWP['MetaAdmin']['MaxWords'] );
                
                
    //Formatting keywords
                
    $keywords implode(', 'array_keys($keywords));

                return 
    $keywords;            
            } 
    // end func 

  2. #2

    -...........

    Ciao.
    Mettiamola così qui l'errore non ci sta
    quindi .........
    Codice PHP:
    <?php 
    function generateKeywords$content ) {
                
                
    //Removing html formatting
                
    $post_content   strip_tags$content );
        
                
    //Removing special chars
               
                
    $post_content   strtolower$post_content );


                
    //Making keyword list
                
    $keywords explode' '$post_content );
                
    //Removing short words
                
    foreach ( $keywords as $key=>$val ) {
                    if ( 
    strlen($val) <= ) {
                        unset( 
    $keywords[$key] );
                    }
                }

                
    //Ranking keywords
                
    $keywords array_count_values$keywords );
                
    arsort$keywords );
                
    $keywords array_slice$keywords010 );
                
                
    //Formatting keywords
                
    $keywords implode(', 'array_keys($keywords));

                return 
    $keywords;            
            } 
    // end func
    $content "returns an array using ' the' val'ues of the input array as keys and their frequency in input as values.";
    echo 
    generateKeywords$content );
    ?>
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Boh, la funzione è richiamata quando si salva un articolo ed è questa, utilizzando sanitize_title ho risolto, in pratica è una funzione di wordpress che mi attacca le due parole divise dall'apostrofo...quindi non trovandolo + non mi dà + errore, però non capisco perchè me lo generi


    Codice PHP:
     function updateMetaData$id ) {
                global 
    $GWP$post;

                
    //Reading the current meta data
                
    $current get_post_meta$id$GWP['MetaAdmin']['Name'] );

                
    //Get the post content
                
    $post_content   sanitize_title($_POST['post_title']);

                
    //Generating keywords
                
    $keywords $this->generateKeywords$post_content );

                
    //Saving meta tags
                
    $meta_exists=update_post_meta($id$GWP['MetaAdmin']['Name'], $keywords);
                if(!
    $meta_exists) {
                    
    add_post_meta($id$GWP['MetaAdmin']['Name'], $keywords);    
                }
                
            } 
    // end func 

  4. #4
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    oppure il mio sesto senso mi dice che si inceppa qui:

    $gwp_meta = new GWP_Meta();
    add_action('save_post', array(&$gwp_meta, 'updateMetaData'));

    In pratica con l'ultimo comando viene detto a wordpress di eseguire quella funzione quando si salva l'articolo, quindi lui va a leggere il titolo e mi estrapola le parole chiave salvandole sul db

  5. #5
    e' semplicissima la soluzione devi quotare i caratteri speciali........
    esistono miglia di funzioni , una di queste e' stripslashes........

    Gli apostrofi , i doppi apici e latri caratteri s n caratteri speciali e vengono convertiti e interpretati in maniera particolare...
    prima di fare elaborazione devi quotare du ocnseguenza questa caratteri....

    risolvi enn hai piu' problemi

  6. #6
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    1,011
    Originariamente inviato da Darios81
    e' semplicissima la soluzione devi quotare i caratteri speciali........
    esistono miglia di funzioni , una di queste e' stripslashes........

    Gli apostrofi , i doppi apici e latri caratteri s n caratteri speciali e vengono convertiti e interpretati in maniera particolare...
    prima di fare elaborazione devi quotare du ocnseguenza questa caratteri....

    risolvi enn hai piu' problemi
    Mi posteresti gentilmente il codice, sono parecchio incapace col php, grazie

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.