草庐IT

regexp_substr

全部标签

php - fatal error : Call to undefined function mb_substr()

我希望看到您对我目前遇到的这个问题的意见。事实证明:以某种方式在网站上给我一个错误,错误显示:Fatalerror:Calltoundefinedfunctionmb_substr()in/home/(website)/public_html/index.phponline308不太明白他们说的mb_substr是什么意思,难道是PHP版本错误?我目前使用的是PHP5.3.19 最佳答案 mb_substr()是substr()的多字节安全版本,这意味着它适用于字符,而不是字节。这在UTF-8中最为明显,其中许多字符由两个或更多字节

php - 在最后使用带有特殊字符的 PHP 的 substr() 会导致问号

当我在PHP中使用substr()函数时,当最后一个字符是特殊字符(如ë或ö等...$introtext=html_entity_decode($item->description,ENT_QUOTES,"UTF-8");$introtext=substr($introtext,0,200);我怎样才能避免这种情况? 最佳答案 如果您的字符串具有多字节编码(如UTF-8),您应该使用mb_substr为了避免这样的问题:$introtext=mb_substr($introtext,0,200);

PHP substr 但保留 HTML 标签?

我想知道是否有一种优雅的方式来修剪一些文本,但同时又能识别HTML标记?例如,我有这个字符串:$data='sometitletextherethatcouldgetverylong';假设我需要在页面上返回/输出这个字符串,但希望它不超过X个字符。假设这个例子是35。然后我使用:$output=substr($data,0,20);但现在我最终得到:sometitletextherethat如您所见,结束强标签被丢弃,从而破坏了HTML显示。有没有办法解决这个问题?另请注意,字符串中可能有多个标签,例如:sometexthereandhere 最佳答案

PHP mb_substr() 无法正常工作?

这段代码printmb_substr('éxxx',0,1);打印一个空白空间:(它应该打印第一个字符,é。然而,这似乎有效:printmb_substr('éxxx',0,2);但是不对,因为(0,2)表示2个字符... 最佳答案 尝试将编码参数传递给mb_substr,如下所示:printmb_substr('éxxx',0,1,'utf-8');永远不会自动检测到编码。 关于PHPmb_substr()无法正常工作?,我们在StackOverflow上找到一个类似的问题:

带有 utf-8 的 php substr() 函数在末尾留下 � 标记

这是简单的代码它的输出是这样的:БензинОфисиА.С.такжепроизводитвсетипыжираисмазокиихпобочныхпродук...我尝试了mb_substr()但没有成功。如何以正确的方式做到这一点? 最佳答案 只要您在服务器上启用了mbstring,上述评论都是正确的。$var="БензинОфисиА.С.такжепроизводитвсетипыжираисмазокиихпобочныхпродуктоввегосмесительныхустановкахнефтимашинного

mysql - mySql REGEXP 中的逻辑与运算符?

我使用MySql正则表达式:SELECT*FROMmyTableWHEREtitleREGEXP"dog|cat|mouse";数据集很小,所以我不关心性能。我更喜欢这个而不是LIKE表示法,因为我不必连接一堆“LIKE”语句。但是,上述符号使用逻辑OR运算符。是否有逻辑AND运算符,以便只匹配包含所有关键字的行?(我使用的是InnoDB,所以全文搜索不是一个选项) 最佳答案 除了连接AND之外,真的没有什么好的解决方案:SELECT*FROMmyTableWHEREtitleREGEXP"dog"ANDtitleREGEXP"ca

MySQL Left() 还是 SUBSTRING()?

这两个查询都会产生相同的结果。但是哪一个更好,更快。SELECTLEFT(textField,100)ASfirst100CharsSELECTSUBSTRING(textField,1,100)谢谢。 最佳答案 本身没什么区别,但是left可以潜在地利用索引,而substring不能。 关于MySQLLeft()还是SUBSTRING()?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

java - String.substring 与 String[].split

我有一个逗号分隔的字符串,当调用String.split(",")它返回一个大小约为60的数组。在特定用例中,我只需要获取将从数组返回的第二个值。因此,例如"Q,BAC,233,sdf,sdf,"我想要的只是第一个','之后和第二个之前的字符串的值>','.我对性能的问题是我最好自己使用substring或使用split方法解析它,然后获取数组中的第二个值?任何输入将不胜感激。此方法每秒会被调用数百次,因此我了解有关性能和内存分配的最佳方法很重要。-邓肯 最佳答案 由于String.Split返回一个string[],使用60路Sp

java - String 类中的 substring 方法导致内存泄漏

这个问题在这里已经有了答案:JavaString.substringmethodpotentialmemoryleak?(3个回答)关闭9年前。据说String类中的substring方法会导致内存泄漏。这是真的吗?如何?它有什么替代方案?特别是在寻找答案,还有哪些其他因素会导致java中的内存泄漏?这将帮助我在编码时小心。 最佳答案 在过去的JDK版本中,substring方法的实现将构建一个新的String对象,以保持对整个char数组的引用,以避免复制它。因此,您可能会在不经意间保留对只有一个字符串的非常大的字符数组的引用。H

c++ - 有没有比仅使用 RegExp 更好的方法在 QToolTip 中自动换行文本?

所以问题就在标题中。QToolTip似乎没有提供wordwrap功能。但是,可以使用正则表达式用\n替换第N个空格,但我想知道是否有人对更好的解决方案有建议。具体来说,我的方法的问题是它没有考虑文本的长度。例如,我想要更长的文本来形成更宽的段落。 最佳答案 如果工具提示中的文本是富文本,则会自动换行。这是一个简单的示例,将字体设置为黑色使其成为“富文本”,因此它会自动换行。省略字体声明意味着工具提示将是纯文本并延伸整个屏幕长度。QStringtoolTip=QString("");toolTip+=("Iamtheverymodel