草庐IT

substring-match

全部标签

PHP:是否可以正确地对 UTF-8 字符串进行 SUBSTR?

我有(在SQLite数据库中)以下字符串:Лампаввытяжкенакухнеменяется,начинаясвытаскиваниябелогоштырькасправа。PHP使用print正确显示了该字符串。我只想获取该字符串的前50个字符,即Лампавытяжкенакухнеменяется,начинаясвытас.我尝试过同时使用substr和mb_substr,得到Лампаввытяжкенакухнеме�,即只有28个字符。在阅读了这里和其他地方关于mbstring的问题之后,我意识到这实际上是一个50字节的字符串(22个俄语字符=44个字节加5个空格加

PHP:是否可以正确地对 UTF-8 字符串进行 SUBSTR?

我有(在SQLite数据库中)以下字符串:Лампаввытяжкенакухнеменяется,начинаясвытаскиваниябелогоштырькасправа。PHP使用print正确显示了该字符串。我只想获取该字符串的前50个字符,即Лампавытяжкенакухнеменяется,начинаясвытас.我尝试过同时使用substr和mb_substr,得到Лампаввытяжкенакухнеме�,即只有28个字符。在阅读了这里和其他地方关于mbstring的问题之后,我意识到这实际上是一个50字节的字符串(22个俄语字符=44个字节加5个空格加

php - 警告 : preg_match(): Internal pcre_fullinfo()

我有以下工作代码:$test='123456';$int=preg_match('/^\d+$/',$test,$matches);print_r(array($int,$matches));但是,当我executeitoncodepad时,出现错误:Warning:preg_match():Internalpcre_fullinfo()error-3online5但是代码是在我自己的机器上运行的(恕我直言,代码应该没问题)。我需要在将来分发我的代码,所以如果它根据某些配置而中断,那就太糟糕了。那么键盘坏掉的原因是什么? 最佳答案

php - 警告 : preg_match(): Internal pcre_fullinfo()

我有以下工作代码:$test='123456';$int=preg_match('/^\d+$/',$test,$matches);print_r(array($int,$matches));但是,当我executeitoncodepad时,出现错误:Warning:preg_match():Internalpcre_fullinfo()error-3online5但是代码是在我自己的机器上运行的(恕我直言,代码应该没问题)。我需要在将来分发我的代码,所以如果它根据某些配置而中断,那就太糟糕了。那么键盘坏掉的原因是什么? 最佳答案

PHP preg_match (.*) 不匹配过去的换行符

这个问题在这里已经有了答案:HowdoImatchanycharacteracrossmultiplelinesinaregularexpression?(26个回答)关闭2年前.我在LONGTEXT列中有这些数据(因此保留了换行符):ParagraphoneParagraphtwoParagraphthreeParagraphfour我正在尝试匹配第1到第3段。我正在使用此代码:preg_match('/Para(.*)three/',$row['file'],$m);这不返回任何内容。如果我尝试仅在段落的第一行内工作,则通过匹配:preg_match('/Para(.*)one/'

PHP preg_match (.*) 不匹配过去的换行符

这个问题在这里已经有了答案:HowdoImatchanycharacteracrossmultiplelinesinaregularexpression?(26个回答)关闭2年前.我在LONGTEXT列中有这些数据(因此保留了换行符):ParagraphoneParagraphtwoParagraphthreeParagraphfour我正在尝试匹配第1到第3段。我正在使用此代码:preg_match('/Para(.*)three/',$row['file'],$m);这不返回任何内容。如果我尝试仅在段落的第一行内工作,则通过匹配:preg_match('/Para(.*)one/'

PHP 函数 substr() 错误

当我使用substr()时,我在末尾得到一个奇怪的字符$articleText=substr($articleText,0,500);我有500个字符的输出和...我该如何解决这个问题?是不是编码问题?我的语言是希腊语。 最佳答案 substr使用字节计数,而不是字符。希腊语可能意味着您正在使用一些多字节编码,例如UTF-8——并且按字节计数对那些不太好。也许使用mb_substr可以帮忙,这里:mb_*专门为多字节编码创建了函数。 关于PHP函数substr()错误,我们在StackO

PHP 函数 substr() 错误

当我使用substr()时,我在末尾得到一个奇怪的字符$articleText=substr($articleText,0,500);我有500个字符的输出和...我该如何解决这个问题?是不是编码问题?我的语言是希腊语。 最佳答案 substr使用字节计数,而不是字符。希腊语可能意味着您正在使用一些多字节编码,例如UTF-8——并且按字节计数对那些不太好。也许使用mb_substr可以帮忙,这里:mb_*专门为多字节编码创建了函数。 关于PHP函数substr()错误,我们在StackO

php - Laravel preg_match() : No ending delimiter '/' found

我正在开发Laravel4.2。我尝试使用Validator使用正则表达式验证名称字段,这是我的规则如下:publicstatic$rules_save=['class_subjects'=>'required|regex:/[0-9]([0-9]|-(?!-))+/'];但是,一旦我调用要验证的规则,就会引发错误,请参见下文:preg_match():Noendingdelimiter'/'found 最佳答案 因为你的正则表达式中有一个管道,你必须使用一个数组:publicstatic$rules_save=['class_su

php - Laravel preg_match() : No ending delimiter '/' found

我正在开发Laravel4.2。我尝试使用Validator使用正则表达式验证名称字段,这是我的规则如下:publicstatic$rules_save=['class_subjects'=>'required|regex:/[0-9]([0-9]|-(?!-))+/'];但是,一旦我调用要验证的规则,就会引发错误,请参见下文:preg_match():Noendingdelimiter'/'found 最佳答案 因为你的正则表达式中有一个管道,你必须使用一个数组:publicstatic$rules_save=['class_su