GD库中的自动换行(Auto New Line In GD Library)
我正在使用GD库从我从API中提取的数据创建图像。
返回的字符串有时可能有点冗长,我希望找到一种方法,如果字符串太远,就会自动为文本创建一个新行。
GD库中是否有这样的内容,或者我是否必须编写一些代码来计算字符并将所有内容移动到新行,如果它太长了?
I'm using the GD Library to create images from data I'm pulling from an API.
The strings that are returned can sometimes be kind of lengthy, and I'm hoping to find a way to automatically create a new line for text if the string goes too far.
Is there something like this built into the GD library, or will I have to write some code to count the characters and move everything to a new line if it goes too long?
原文:https://stackoverflow.com/questions/9639693
最满意答案
错误消息中缺少什么? 您需要为列命名:
SELECT UPPER(LTRIM(RTRIM(allWords.words))) as words INTO usr.nameList FROM ( SELECT section.Cols.value('.', 'varchar(250)') words FROM @xml.nodes('/c') section(Cols) ) AS allWords WHERE LTRIM(RTRIM(words)) <> '' AND dbo.RegExIsMatch('.*[\W\d].*',LTRIM(RTRIM(words)),1) <> 1 AND LEN(LTRIM(RTRIM(words))) > 3 GROUP BY words;
What are you missing in the error message? You need to give the column a name:
SELECT UPPER(LTRIM(RTRIM(allWords.words))) as words INTO usr.nameList FROM ( SELECT section.Cols.value('.', 'varchar(250)') words FROM @xml.nodes('/c') section(Cols) ) AS allWords WHERE LTRIM(RTRIM(words)) <> '' AND dbo.RegExIsMatch('.*[\W\d].*',LTRIM(RTRIM(words)),1) <> 1 AND LEN(LTRIM(RTRIM(words))) > 3 GROUP BY words;
相关问答
更多-
没有FROM子句的SELECT(SELECT without FROM Clause)[2024-03-13]
考虑聚合查询的交叉连接(逗号分隔表): SELECT (query1.CntColumn + query2.CntColumn + query3.CntColumn) AS Qtd FROM query1, query2, query3 Consider the cross join (comma separated tables) of the aggregate queries: SELECT (query1.CntColumn + query2.CntColumn + query3.CntColum ... -
喜欢“”? 这是UTF-8 BOM(en.wikipedia.org/wiki/Byte_order_mark)。 您可能需要先清理输入文件。 Like ""? This is the UTF-8 BOM (en.wikipedia.org/wiki/Byte_order_mark). You probably need to clean the input files first.
-
简单的SELECT查询失败(Simple SELECT query fails)[2023-09-28]
如果表是空的那么你将无法得到任何回报 - 这是设计的。 虽然,我不是为什么你使用/测试它与IsNull,因为你的表结构不允许Nulls。 If the table is empty then you won't get anything back - it's by design. Although, I don't why you'd use/test it with IsNull as your table structure doesn't allow Nulls. -
无法获得选择查询工作(can't get select query to work)[2022-01-10]
您无法按名称访问行列,就像您有t[i]=*row['NBR']; 。 用于示例fields = mysql_fetch_fields(result); 获取列名并遍历fields数组以查找哪个列ID'NBR'。 然后可以在t[i]=row[id];使用该t[i]=row[id]; 。 这些都在mysql连接器doc http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-fields.html中 You cannot access the row columns ... -
您运行查询的方式是错误的。 这很容易出错,并且总会给你这样的错误。 而且,它也很容易进行SQL注入。 当您直接向查询中添加变量时,其内容可能会受到干扰,这会导致很多麻烦,从此类错误到SQL注入。 为了摆脱这种一次性错误,您必须先准备好您的查询,然后添加问号代替变量,然后单独发送。 这样它永远不会干涉。 您必须先准备好查询,然后绑定一个变量,然后执行: $sql = "SELECT username, password, email FROM users WHERE username=?"; $stmt = ...
-
SELECT * vs SELECT *(SELECT* vs SELECT *)[2023-10-18]
通常词法分析器会将字符添加到当前的标记中,直到找到一个不能属于当前标记的字符,然后退出并从之前无法继续的地方重新开始。 所以这里发生的事情是,词法分析器吞食SELECT并且看到下一个字符是* ,因为它正在收集一个词,所以不能属于SELECT 。 所以它停止,分析SELECT结果是一个关键字,并从它识别的*开始,依此类推。 这与你在其他编程语言中从2*2和2 * 2得到4原因相同。 至于它是否适用于其他数据库,这一切都取决于词法分析器的细节和语法规则。 Usually lexers will add char ... -
错误消息中缺少什么? 您需要为列命名: SELECT UPPER(LTRIM(RTRIM(allWords.words))) as words INTO usr.nameList FROM ( SELECT section.Cols.value('.', 'varchar(250)') words FROM @xml.nodes('/c') section(Cols) ) AS allWords WHERE LTRIM(RTRIM(words)) <> '' AND dbo ...
-
您正在寻找IN运营商。 语法如下: SELECT * FROM users WHERE `group` IN (2, 3, 4, 5) ORDER BY id ASC LIMIT 1; 这里有一个参考 。 注意:根据您的评论,如果您正在寻找最新用户,您可能希望以DESC顺序订购,以便首先放置最大的ID。 更好(在我看来),如果你存储account_created_date你可以按顺序排序。 再次,按降序排列。 You are looking for the IN operator. The syntax ...
-
我不确定但试试这个: return $query->selectRaw( '*, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance' ); I am not sure but try this: return $query->sele ...
-
因为您在这里使用LINQ To SQL ,这意味着该查询被转换为SQL您的自定义类型的SQL 。 var rooms = (from m in db.Rooms where m.FK_HotelID == id select m).ToList(); var roomsVm = from m in rooms select new Room ...