第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP & MYSQL-如何搜索單詞并將它們像句子一樣進行翻譯?

PHP & MYSQL-如何搜索單詞并將它們像句子一樣進行翻譯?

PHP
胡子哥哥 2022-06-17 17:24:36
我正在創(chuàng)建用戶可以搜索的位置"How are you"并將翻譯輸出到"Como son tu"My database looks like thisEnglish         TranslationHow             ComoAre             SonYou             Tu我的代碼:if(($_POST['translateKey'])){  $translateWord = mysql_fix_string($connection, $_POST['translateWord']);  if (!empty($translateWord)) {    $query = "SELECT * FROM $username";    $result = $connection->query($query);    if (!$result) {        if (!$result) die("Couldn't query data: " . $connection->error);    }    $rows = $result->num_rows;    $isTranslation = false;    for ($i = 0; $i < $rows; ++$i) {        $result->data_seek($i);        $row = $result->fetch_array(MYSQLI_ASSOC);        //using strpos to find the first occurrence of a substring in a string        $pos = strpos($row['English'],$translateWord);        if ($pos !== false) {            echo $row['Translation'] . "</br>";            $isTranslation = true;            break;         }     }    if (!$isTranslation)                    echo "No translation can be found!</br>";            }    }這是我的代碼,但它只能搜索單個字符"How" -> "Como",如果我嘗試搜索多個字符串,它會給我"No translation can be found!"有沒有一種方法可以搜索多個字符串并將字符作為句子輸出?喜歡搜索"How are you"并獲取"Come son tu"我正在為學(xué)習(xí)目的創(chuàng)建一個蹩腳的翻譯器哈哈。
查看完整描述

1 回答

?
九州編程

TA貢獻1785條經(jīng)驗 獲得超4個贊

我整理了一些 PHP,它們將嘗試處理整個輸入字符串(例如How are you)。它將輸入字符串轉(zhuǎn)換為單詞數(shù)組,然后使用該數(shù)組為IN表達式 ( How are you=> 'how','are','you') 生成適當(dāng)?shù)淖址?,然后將其添加到查詢中。我已將查詢稍微修改為小寫所有?nèi)容(以便how可以匹配How或HOW或...)。


在演示中,我模擬了一個結(jié)果集,您可以使用$result->fetch_all(). 代碼循環(huán)遍歷單詞列表,嘗試匹配結(jié)果數(shù)組中的每個單詞,如果找到,則嘗試匹配大小寫(它處理大寫、大寫和小寫)。結(jié)果集中未找到的單詞將通過未翻譯的方式傳遞。


$translateWord = 'How are you';

$words = explode(' ', $translateWord);

$list = implode(',', array_map(function ($word) { return "'" . strtolower(trim($word)) . "'"; }, $words));

$query = "SELECT LOWER(English) AS English, LOWER(Translation) AS Translation

          FROM $username

          WHERE LOWER(English) IN ($list)";

// query table

// $result = $connection->query($query);

// $rows = $result->fetch_all();

// simulated result

$rows = array(array('English' => 'how', 'Translation' => 'como'),

              array('English' => 'are', 'Translation' => 'son'),

              array('English' => 'you', 'Translation' => 'tu'));

$translation = array();

foreach ($words as $word) {

    if (($key = array_search(strtolower($word), array_column($rows, 'English'))) !== false) {

        // match case of result

        if (strtoupper($word) == $word) {

            $translation[] = strtoupper($rows[$key]['Translation']);

        }

        elseif (ucfirst($word) == $word) {

            $translation[] = ucfirst($rows[$key]['Translation']);

        }

        else {

            $translation[] = $rows[$key]['Translation'];

        }

    }

    else {

        // no match, leave alone

        $translation[] = $word;

    }

}

echo $translateWord . " => " . implode(' ', $translation);

輸出:


How are you => Como son tu


查看完整回答
反對 回復(fù) 2022-06-17
  • 1 回答
  • 0 關(guān)注
  • 107 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號