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

    Eseguire istruzione se in-array restituisce FALSE

    Ciao, ho il seguente script che sottolinea le parole non rpesenti nell'array $vocabolario.

    Codice PHP:
    function wrongwords($text)
    {
    $conn mysqli_connect('127.0.0.1','root','','esame') or die("Connection failed: " $conn->connect_error);
    $vocabolario = array(); //creo array contente le parole del vocabolario
    $words explode(' ',$text); //divido il testo in singole parole e le metto nell'array
        
        
    $query mysqli_query($conn,"SELECT * FROM vocabolario");
        
    $i=0;
        while (
    $voc mysqli_fetch_array($query,MYSQLI_ASSOC))
        {
        
    $vocabolo $voc['vocabolo'];
        
    $vocabolario[$i] = $vocabolo;
        
    $i++;
        }
        
    mysqli_close($conn);

        foreach (
    $words as $parola)
        {
            if (
    in_array(strtolower($parola),$vocabolario))
            {
            
    $t"<u style=\"text-decoration: none; border-bottom: 1px solid #FF0000\">".$parola."</u>";
            
    $text preg_replace("/\b$parola\b/"$t$text);
            }
        }

    return 
    $text;

    vorrei che le parole venissero sottilineate solo quando in_array restituisce false. Ho provato ad impostare l'if in questo modo

    Codice PHP:
    if (!in_array(strtolower($parola),$vocabolario)) 
    e
    Codice PHP:
    if (in_array(strtolower($parola),$vocabolario) == FALSE
    ma non ottengo il risultato corretto

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Dovresti anche dire "come" non funziona, che input gli dai? Quale risultato ti aspetteresti? Quale risultato ottieni?
    Potrebbe anche essere che sei tu che ti aspetti una cosa non corretta, di sicuro PHP non si sbaglia, fa quello che gli dici di fare.

  3. #3
    sia con !in_array che con in_array == FALSE ottengo questo

    codice:
    u style="text-decoration: none; border-bottom: 1px solid #FF0000">Maecenasu> lacinia eros <u style="text-decoration: none; border-bottom: 1px solid #FF0000"><u style="text-decoration: none; border-bottom: 1px solid #FF0000"><u style="text-decoration: none; border-bottom: 1px solid #FF0000">sedu>u>u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">elementumu> tincidunt. <u style="text-decoration: none; border-bottom: 1px solid #FF0000"><u style="text-decoration: none; border-bottom: 1px solid #FF0000"><u style="text-decoration: none; border-bottom: 1px solid #FF0000">Donecu>u>u> gravida, <u style="text-decoration: none; border-bottom: 1px solid #FF0000">justou> <u style="text-decoration: none; border-bottom: 1px solid #FF0000"><u style="text-decoration: none; border-bottom: 1px solid #FF0000"><u style="text-decoration: none; border-bottom: 1px solid #FF0000">velu>u>u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">temporu> faucibus, <u style="text-decoration: none; border-bottom: 1px solid #FF0000">arcuu> <u style="text-decoration: none; border-bottom: 1px solid #FF0000"><u style="text-decoration: none; border-bottom: 1px solid #FF0000">semu>u>
    il testo in input e' questo

    Maecenas lacinia eros sed elementum tincidunt. Donec gravida, justo vel tempor faucibus, arcu sem commodo odio, in rhoncus mauris ipsum nec tortor. Mauris ac purus sit amet felis auctor fringilla. Duis vel risus odio. Praesent iaculis semper odio et congue. Donec quis erat egestas, malesuada nibh vel, imperdiet erat. Sed a nisi tortor. Morbi a neque nec mi placerat vestibulum sed sed dui. Morbi sodales erat odio, vitae luctus nisl consequat ut. Suspendisse ultricies sem arcu, nec dignissim neque vehicula at. In quam sapien, scelerisque ut porttitor luctus, tempus at velit. Nunc congue, nunc vel malesuada facilisis, risus elit rutrum erat, convallis bibendum massa tellus ut mi. Donec a lacus quam. Nam in velit eget lacus pellentesque finibus. Aliquam sagittis nisl id nulla feugiat consectetur. Nam eleifend erat sit amet lacus porttitor volutpat.

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova cosi (ho tolto la parte database quindi tutte le parole sono sottolineate). Guarda anche l'allegato.

    Codice PHP:
    <?php
    $text 
    "Maécenas lacinia eros sed elementum tincidunt. Donec gravida, justo vel tempor faucibus, arcu sem commodo odio, in rhoncus mauris ipsum nec tortor. Mauris ac purus sit amet felis auctor fringilla. Duis vel risus odio. Praesent iaculis semper odio et congue. Donec quis erat egestas, malesuada nibh vel, imperdiet erat. Sed a nisi tortor. Morbi a neque nec mi placerat vestibulum sed sed dui. Morbi sodales erat odio, vitae luctus nisl consequat ut. Suspendisse ultricies sem arcu, nec dignissim neque vehicula at. In quam sapien, scelerisque ut porttitor luctus, tempus at velit. Nunc congue, nunc vel malesuada facilisis, risus elit rutrum erat, convallis bibendum massa tellus ut mi. Donec a lacus quam. Nam in velit eget lacus pellentesque finibus. Aliquam sagittis nisl id nulla feugiat consectetur. Nam eleifend erat sit amet lacus porttitor volutpat.";
    function 
    wrongwords($text) {
        
    $vocabolario = array(); //creo array contente le parole del vocabolario
        
    preg_match_all("/([a-zA-ZÀ-ÿ]+)/",$text,$array);
        
    $words array_unique($array[0]);
        
        foreach (
    $words as $parola)  {
            if (!
    in_array(strtolower($parola),$vocabolario)) {
            
    $t"<u style=\"text-decoration: none; border-bottom: 1px solid #FF0000\">".$parola."</u>";
            
    $text preg_replace("/\b$parola\b/"$t$text);
            }
        }
    return 
    $text;
    }  
    print 
    wrongwords($text);
    Parte del codice HTML.
    codice HTML:
    <u style="text-decoration: none; border-bottom: 1px solid #FF0000">Maécenas</u> 
    <u style="text-decoration: none; border-bottom: 1px solid #FF0000">lacinia</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">eros</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">sed</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">elementum</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">tincidunt</u>. 
    <u style="text-decoration: none; border-bottom: 1px solid #FF0000">Donec</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">gravida</u>, <u style="text-decoration: none; border-bottom: 1px solid #FF0000">justo</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">vel</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">tempor</u> <
    u style="text-decoration: none; border-bottom: 1px solid #FF0000">faucibus</u>, <u style="text-decoration: none; border-bottom: 1px solid #FF0000">arcu</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">sem</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">commodo</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">odio</u>, <u style="text-decoration: none; border-bottom: 1px solid #FF0000">in</u> <u style="text-decoration: none; border-bottom: 1px solid #FF0000">rhoncus</u> 
    Immagini allegate Immagini allegate
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.