草庐IT

REGEXP_SUBSTR

全部标签

PHP mb_substr 划分错误 utf 8

我试图将一个字符串分成两列,每列6行。问题是,如果最后一行包含(Ø,Æ,Å),即使第一行有空格,它也会跳到下一列。这似乎是编码问题,有人知道可能发生了什么吗?我用来生成列的代码是:$iter=6;$str=$shortd;$count_line=0;$str=$shortd;for($x=0;$x");$text=mb_substr($str,0,$pos+6);$str=mb_substr($str,$pos+6);echo$text;$x++;}?>");$text=mb_substr($str,0,$pos+6);$str=mb_substr($str,$pos+6);echo$

php - 在带有重音符号的 substr() 文本后显示有趣的字符

我正在使用substr()函数来剪切字符串。它对普通字符串工作正常,但如果字符串带有重音符号,它会在剪切之前显示有趣的字符,如下所示:代码如下:$rawtitle="Tinđăngcủagiangvy1011tincủadtdd";$title=substr($rawtitle,0,36).'...';echo$title;这是我得到的echo结果:有什么办法可以解决这个问题或使用其他功能来实现这个目标吗?非常感谢 最佳答案 substr不是多字节安全的。字符ủ由多个字节表示。使用substr,您可以剪切这些字节序列并损坏字符串。您

php - 变音符号和 mb_substr 的问题

我正在使用mb_substr函数对带有变音符号的unicode字符串进行切片,但它的工作原理与我使用简单的substr函数一样。它将unicode字符分成两半,显示带问号的菱形。例如echomb_substr('ááááá',0,5);//Displaysáá�可能出了什么问题? 最佳答案 如果我不将编码指定为mb_substr的最后一个参数,我会遇到同样的问题:至少在我的服务器上,它默认为ISO-8859-1。但是,如果我将编码正确设置为UTF-8,它就可以正常工作:echomb_substr('ááááá',0,5,'UTF-8

php - mb_substr 在剥离 UTF-8 文本时在末尾添加 3 个点 (...),而在文本为拉丁文时不添加它们

我有这样的代码:if(strlen($text)>=15)$text=mb_substr($text,0,15,'UTF-8');它可以正常工作,但问题是,当文本是拉丁文(例如英文)时,当它剥离它时,它最后不会显示3个点。另一方面,当文本是其他需要UTF-8编码的语言时,它会在末尾添加3个点。示例:Whatarecellsmadeof被替换为Whatarecells另一方面:で作られた細胞は何ですか被替换为で作られた細...我错过了什么? 最佳答案 发生这种情况是因为strlen()以二进制形式返回字符串的长度,即八位字节数。因为u

允许您设置起点和终点并保持 HTML 格式的 PHP substr() 函数?

使用PHP中的普通substr()函数,您可以决定要“开始”切割字符串的位置,以及设置长度。长度可能是用得最多的,但在这种情况下,我需要从头开始剪掉大约120个字符。问题是我需要保持字符串中的html完好无损,并且只剪切标签中的实际文本。我为它找到了一些自定义函数,但我还没有找到一个允许您设置起点的函数,例如。您要从哪里开始剪弦。这是我找到的一个:UsingPHPsubstr()andstrip_tags()whileretainingformattingandwithoutbreakingHTML所以,我基本上需要一个substr()函数,它的工作方式与原始函数完全相同,只是保持格式

Javascript - PHP 在 JavaScript 上的 Substr() 替代品

我在javasctipt上处理一个长字符串,我必须替换我无法预先确定其长度和值的子字符串,我不能在其中使用str.replace(/substr/g,'newstring'),它不允许替换我只能确定其起始位置和长度的子字符串。有没有我可以使用的函数,比如stringsubstr(string,start_pos,length,newstring)? 最佳答案 您可以使用substr的组合和使用+的连接,如下所示:functioncustomReplace(str,start,end,newStr){returnstr.substr(

php - 从字符串 php 的末尾开始 Substr?

我有这种数组,我会把它弄得非常简单易懂$picture=('artist2-1_thumb.jpg','artist2-2.jpg','artist2-3_thumb.jpg','artist2-4.jpg','artist2-5_thumb.jpg');现在我想使用substr来获得只有拇指的新数组,得到这样的新数组$picturethumbs=('artist2-1_thumb.jpg','artist2-3_thumb.jpg','artist2-5_thumb.jpg');可以从哪里开始? 最佳答案 你可以使用array_f

php - 如何正确地 substr html 实体?

我有这样的:$mytext="that'sreally"confusing"and<absolutly>silly";echosubstr($mytext,0,6);这种情况下的输出将是:that&#而不是that's我想要的是将html实体计为1个字符然后是substr,因为我总是以损坏的html或文本末尾的一些模糊字符结束。请不要建议我对它进行html解码然后substr然后编码,我想要一个干净的方法:)谢谢 最佳答案 有两种方法:您可以解码HTML实体,substr()然后编码;或者您

php - PHP 中是否有类似于整数的 substr() 的函数?

我有一个电话号码,它将在我的数据库中记录为一个整数(例如1234512312345),但我想在网页上表示为(12345)123-12345。如果它是一个字符串,我会使用substr,但将它转换为strval似乎不够优雅。虽然我明白整数和字符串是绝对不同的,但有没有一种方法可以做到这一点而无需自己编写效率低下的函数? 最佳答案 你可以试试vprintf或vsprintf与sscanf$data=1234512312345;vprintf("(%d)-%d-%d",sscanf($data,"%5d%3d%5d"));Output(12

PHP:有没有办法调用不区分大小写的 substr_count()?

正如问题所说:有没有办法调用大小写不区分substr_count()? 最佳答案 没有原生方法,你可以这样做:substr_count(strtoupper($haystack),strtoupper($needle));你当然可以把它写成一个函数:functionsubstri_count($haystack,$needle){returnsubstr_count(strtoupper($haystack),strtoupper($needle));}在使用大小写更改来比较字符串时,请注意火鸡测试。http://www.moser