gpt4 book ai didi

php - 如果达到 maxlength,则删除 SQL 行中的最后一个单词? (PHP)

转载 作者:行者123 更新时间:2023-11-29 22:22:27 27 4
gpt4 key购买 nike

我的一个 php 脚本正在将数据从 XML 文件提取到 MySQL 数据库。

设置如下:

$sql   = "INSERT IGNORE INTO `tablename` (columnname) VALUES ('text text text text text text $variablename text text $variablename2 text text')

$variablename 和 $variablename2 都是从 XML 文件中提取的变量,并且具有不同的长度。

所以,我知道,如果我只是处理 PHP,我可以使用 strlen 或其变体(请参阅How to Truncate a string in PHP to the word closest to a certain number of characters?,但我的 sql 数据库中的“columnname”不是变量。

“columnname”仅限于字符。我在 mySQL 中将其设置为 VARCHAR MAX=106 ——并且有效 ——

但是,当将其重新输出到我的 Web 主机时,它会从 SQL 数据库获取数据,该数据在最大长度截止字中间停止。

我想要它,以便如果它达到最大长度,最后一个单词就会被删除。

可以在输入 SQL 表时完成吗?

或者甚至可能在输出回我的网络主机的 PHP 文件中?,例如这里:

$rs->data_seek(0);
while($res = $rs->fetch_assoc()) {
$a_topic = array(
"columnname" => $res["columnname"]

或者也许在这里的 $params 中?

  $params = array(
'status' => $share['columnname'],

非常感谢!

最佳答案

function cut($string, $maxLength)
{
$revertString = strrev($string);
$spaceRevertedPos = strpos($revertString, ' ', strlen($string)-$maxLength);
$revertedCutString = substr($revertString, $spaceRevertedPos);

return strrev($revertedCutString);
}

DEMO

关于php - 如果达到 maxlength,则删除 SQL 行中的最后一个单词? (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30584625/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com