【问题标题】:Substr not working with html tags and entitiesSubstr 不适用于 html 标签和实体
【发布时间】:2013-12-27 06:07:34
【问题描述】:

我已经解决了以下问题: substr() not working 但它对我不起作用:(

我也面临同样的问题。我正在使用nicEditor,并且在插入时,我使用htmlentities(addslashes(urlencode($description))) 当我查看描述时?它正确显示了我,但是当我使用 substr() 时,它什么也没返回。 喜欢:

substr($description,0,10)

$description 包含内容,它很好,存在于数据库中,没有substr() 也可以工作

【问题讨论】:

  • 您必须添加更精确的细节。这里的任何人都不可能猜测数据来自哪里,你到底做了什么以及你期望得到什么。
  • 我想当有HTML entities 存在时,我的substr() 没有显示任何东西,它在没有HTML 实体的情况下工作。
  • substr() 变量内容只是一个字符串。它不知道html。可能是您在浏览器中 outputing 损坏的 html 标签有问题(所以在 html 中)?
  • html 标签没有损坏,我链接到我的问题的问题,有提到如果有 html 标签,substr() 不起作用
  • 不,我只是检查了一个简单的脚本,对我来说 substr() 可以正常工作,即使 html 标记在大海捞针中也是如此。

标签: php string html-entities substr


【解决方案1】:

请提供一个 var_dumb() 的$description,在填写$description之前再多写一点代码,看看有没有其他问题。

试试这个

将 mb_substr 用于 UTF-8 等多字节字符编码。子串 只计算字节数,而 mb_substr 计算字符数。

substr() 仅适用于单字节 http://php.net/manual/en/function.mb-substr.php

来源:PHP Substr Function Trimming Problem

这是因为在 UTF-8 中字符不限于一个 字节,它们具有可变长度以匹配 Unicode 字符,介于 1 之间 和 4 个字节。

在不丢失任何东西的情况下切断这些字符串的安全方法是 改用 mb_substr PHP 函数。它的工作方式几乎相同 作为 substr 但不同之处在于您可以添加一个新参数 指定编码类型,是 UTF-8 还是其他编码。

来源:http://osc.co.cr/extracting-a-substring-from-a-utf-8-string-in-php/

【讨论】:

  • 这不是答案,应该是评论。这是为您的答案保留早期日期时间的廉价技巧。多么便宜。
  • 我无法对 8 Rep 发表评论!抱歉 :/ 现在我离写 cmets 更远了。
  • 你有没有想过为什么新用户要等几天?对不起,没有冒犯的意思,但是这样的答案真的很烦人,后来咨询这个问题的每个人......你从这个“答案”中得到了什么?它有什么意义?
  • 一切正常。下次我会推迟,直到我可以发表评论。发布编辑并提供解决方案尝试
  • 虽然是真的,但在 unicode 情况下使用 8 位函数存在问题,这 仍然 不是答案。这最多是一个疯狂的猜测。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
相关资源
最近更新 更多