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.