Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php <;br>;在下一个foreach项中插入空格_Php_Mysql_Arrays_Nl2br - Fatal编程技术网

Php <;br>;在下一个foreach项中插入空格

Php <;br>;在下一个foreach项中插入空格,php,mysql,arrays,nl2br,Php,Mysql,Arrays,Nl2br,我实际上在做拼写检查。我要做的是按空格将字符串拆分为单词,添加标记以忽略标点符号,并使用nl2br()函数保留s。现在,问题是,当我说忽略br时,它将其视为一个单词,甚至在下一个单词中添加一个空格。在这里,我将向您展示代码 spellchecker.php function checkspell($string, $translate) { $string = $string; $counter = 0; $arr = explode(' ', punctuate($st

我实际上在做拼写检查。我要做的是按空格将字符串拆分为单词,添加标记以忽略标点符号,并使用
nl2br()
函数保留

s
。现在,问题是,当我说忽略
br
时,它将其视为一个单词,甚至在下一个单词中添加一个空格。在这里,我将向您展示代码

spellchecker.php

function checkspell($string, $translate) {
    $string = $string;
    $counter = 0;
    $arr = explode(' ', punctuate($string, $translate));
    foreach($arr as $str) {
        if (substr($str, 1, 4) == "punc") {
            echo $str;
        } elseif ($str == "<br>") {
            echo "<br />";
        } elseif ($str == "") {
            echo "<punc> </punc>";
        } else {
            $space = "yes";
            if (substr($str, -2, 2) == "<>") {
            $space = "no";
            $str = str_replace("<>", "", $str);
            }
        $exists = mysql_query("SELECT COUNT(word) FROM unicode WHERE word = '$str'") or die (mysql_error());
    if (mysql_result($exists, 0) == 0) {
        $counter++;
        if ($space == "yes") {
            echo "<span class=\"word error\" sug=\"$counter\" space=\"yes\">" . fconvert("Arial Unicode MS", $translate, $str) . " </span><div class=\"suggestions $counter\">";
        } else {
            echo "<span class=\"word error\" sug=\"$counter\" space=\"yes\">" . fconvert("Arial Unicode MS", $translate, $str) . "</span><div class=\"suggestions $counter\">";
        }
        echo "<div id=\"sugwrds$counter\"><i>Loading suggestions...</i></div><hr size=\"1\" color=\"#ccc\"><span class=\"ignore\" idt=\"$counter\">Ignore</span><span class=\"ignoreall\" idt=\"$counter\">Ignore All</span><hr size=\"1\" color=\"#ccc\"><span class=\"suggdiswrd\" href=\"dialog/suggest?word=$str\" idt=\"$counter\" gur=\"box\">Suggest this word</span></div>";
    } else {
        $note = mysql_query("SELECT note FROM unicode WHERE word = '$str'");
        if (mysql_result($note, 0) == "") {
            if ($space == "yes") {
                echo "<span class=\"whps\">" . fconvert("Arial Unicode MS", $translate, $str) . " </span>";
            } else {
                echo "<span class=\"whps\">" . fconvert("Arial Unicode MS", $translate, $str) . "</span>";
            }
        } else {
            if ($space == "yes") {
                echo "<span class=\"whps blue\">" . fconvert("Arial Unicode MS", $translate, $str) . " </span>";
            } else {
                echo "<span class=\"whps blue\">" . fconvert("Arial Unicode MS", $translate, $str) . "</span>";
            }
            }
        }
    }
}
}
一切正常。但它会在下一个单词后面插入空格,如。。 这个

将输出此

How
<br>
 How
如何

怎么

第二个
how
中有一个空格,但文本框中没有该空格。

我怀疑原因在于您的
标点(
函数:

"<br />" => " <br> ",

”=>“
”,

后面有一个空格

请尝试以下操作:

"<br />" => "<br>",
//          ^    ^ Note the lack of spaces.

”=>“
”, //^^注意缺少空格。
THXX FR Urror…但是如果我这样做,它不会拆分这个词并将它与这个词前后合并…这些空格将使拼写检查器认为这是一个词…
How
<br>
 How
"<br />" => " <br> ",
"<br />" => "<br>",
//          ^    ^ Note the lack of spaces.