?
Solved

Spell Checking in PHP

Posted on 2004-08-16
7
Medium Priority
?
1,441 Views
Last Modified: 2014-12-01
Hi!!
i need a code for spell checking using php, i have not done any thing like this before, i found a lot of information on net,, plus i also found a simple code, that i require,, but now i am having problem running it. i read some where that the pspell can only be used in linux environment. i dont have linux so i uploaded it to the server but still i am getting the error "Fatal error: Call to undefined function: pspell_new() in /home/discrete/public_html/kbase/spell.php".
this is the part of code i am using,,

      $misspelled = array();
      $suggestions = array();
      $original = $text;
      $words = preg_split ("/[\s,.]+/", $text);
      
      $pl = pspell_new ("en");
      
      foreach($words as $key=>$word)
      {
            $checkword = preg_replace("/[^A-z-']/", '', $word);
            if (!pspell_check ($pl, $checkword))
            {
                  $misspelled[$key] = $checkword;
                  $suggestions[$checkword] = pspell_suggest ($pl, $checkword);
            }
      }

can anyone help me,,,
its urgent
regards,,
      
0
Comment
Question by:SadafRasheed
  • 3
  • 2
  • 2
7 Comments
 
LVL 25

Accepted Solution

by:
Marcus Bointon earned 500 total points
ID: 11808026
You probably just need to configure PHP with --with-pspell and recompile it. This is easy on *nix, but difficult on Windows. There are some comments on how to do it here:

http://www.php.net/pspell

I see that on Windows it's mapped to aspell, which I assume is a pspell workalike.
0
 
LVL 4

Author Comment

by:SadafRasheed
ID: 11811077
thanks for the reply,,
i read that document and tried the code provided on te page but i am getting this message
"Warning: PSPELL couldn't open the dictionary. reason: No word lists can be found for the language "en". in C:\Apache2\htdocs\kbase\try.php on line 11"
the code is

<?php
  $str="This is a test for the spell checker function";      
  $ret = spellcheck($str);
  var_dump($ret);

function spellcheck ( $string )
{
   $words = preg_split('/[\W]+?/',$string);
   $misspelled = $return = array();
   
   pspell_config_create("en");
   $int = pspell_new("en");
   
   foreach ($words as $value)
   {
       if (!pspell_check($int, $value))
       {
           $misspelled[] = $value;
       }
   }
   foreach ($misspelled as $value)
   {
       $return[$value] = pspell_suggest($int, $value);
   }
   return $return;
}
?>
i guess the pspell extension is working because i am not getting any undefined function errors
so, now what :$
what am i doing wrong and what should i do to rectify this,,,
waiting for reply,,,
regards,,
0
 
LVL 25

Expert Comment

by:Marcus Bointon
ID: 11811203
It just sounds like you have not installed the dictionaries where it expects to find them. The user notes have a comment about how and where to instal them - did you try that?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 4

Author Comment

by:SadafRasheed
ID: 11818693
i have,,, well i think,,
when i have installed the two exe, one for aspell and other for the dictionary,,
when i run aspell from dos, it works fine,,, one thing i have to go to program files/aspell/bin,,, i doesnot pick the path automatically,, do i have to give the path of dictionary in the autoexec.bat or some thing like that???
also the main server where i'll finally have to run it is running linux,,, and i dont know the path of dictionary,, is there any method to get that info...

0
 
LVL 25

Expert Comment

by:Marcus Bointon
ID: 11818809
Perhaps you should check this out, and perhaps some of the other docs on pspell?

http://www.php.net/manual/en/function.pspell-new-config.php
0
 

Expert Comment

by:Dipak Solanki
ID: 40475268
I have installed pspell on my wamp2.4 and php5.4.16 on my windows server. I have enable dll in php.ini and also place in system32. When I run my php page I got fatal error "Fatal error: Call to undefined function pspell_new()  in php file".

Please suggest or let us know what will be missing to run file.
0
 

Expert Comment

by:Dipak Solanki
ID: 40475280
sphinxsearch extension not working in my wamp2.4 and php5.4 (windows server). I have followed the all steps as mention in below link. Please let us know how to make it working.
http://www.codepursuit.com/?p=392
0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses four methods for overlaying images in a container on a web page
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
Suggested Courses

571 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question