последни букви в дума

Liberate

Registered
трябва ми скрипт, който след като напиша определени букви да ми изкарва думите от масив които завършват на тези букви...
пример: пиша "ца" и скрипта ми изкарва "цаца", "каца", "овца" и така нататък като тези думи ги имам в масива $dumi примерно...
 
добре де написах тва:
Код:
<?php
if(isset($_POST['submit'])){
$part=$_POST['word'];
$lenght=strlen($part);
$words=file('words.txt');
foreach($words as $word){
if(substr($word,-$lenght)==$part){
echo $word."\n<br>\n";
}}}else{
echo '<form action="index.php" method="post">
<input type="text" name="word">
<input type="submit" name="submit">
</form>';
}
?>
къде ми е грешката? :oops:
 
Може би нещо с preg_match
<?php
$words = array("цаца","каца","лаваца","самолет","цацамаса","пиаца","пица","кофа","казан","блабла");
if (isset($_POST['check'])) {
foreach($words AS $word) {
if (preg_match('/'.$_POST[check_word].'/i',substr($word,-2))) {
echo $word."<br />";
}
}
}
?>
<form action="" method="post">
<input type="text" name="check_word" value="" /> <input type="submit" name="check" value="Тест" />
</form>
 
@Replace ами ако напише цаца? :lol:

Код:
<?php
$words = array("цаца","каца","лаваца","самолет","цацамаса","пиаца","пица","кофа","казан","блабла");
if (isset($_POST['check'])) {
foreach($words AS $word) {
if (preg_match('/'.$_POST[check_word].'$/i',$word)) {
echo $word."<br />";
}
}
}
?>
<form action="" method="post">
<input type="text" name="check_word" value="" /> <input type="submit" name="check" value="Тест" />
</form>
направо $ накрая :)
 
Доколкото се ориентирам от кода, май търсиш като ефект това:

http://bg2.php.net/manual/bg/function.levenshtein.php

levenshtein();
 
Най-лесно ако имаш базаданни правиш една зайавка от типа
Код:
$sql = "SELECT * FROM table WHERE duma LIKE '%" . $krai . "'";

Където $krai е тази фраза
 

Горе