jjzjj

php - 如何从 preg_split 结果中删除空数组?

举个例子,我写了很多简单的正则表达式:php>var_dump(preg_split('/[:reg\s{}]+/',':reg{/^[a-zA-Z]*$/}'));array(3){[0]=>string(0)""[1]=>string(13)"/^[a-zA-Z]*$/"[2]=>string(0)""}我想删除空数组[0]=>string(0)""例如,结果应该是:php>var_dump(preg_split('????',':reg{/^[a-zA-Z]*$/}'));array(3){[0]=>string(13)"/^[a-zA-Z]*$/"}我知道删除空数组时array

php - 每 10 个单词拆分字符串

我想每10个单词拆分一个字符串。但如果任何单词包含标点符号,则在标点符号之后拆分并继续每10个单词拆分。我正在使用它,但它只是将字符串每10个单词拆分一次。array(5){[0]=>string(66)"Loremipsumdolorsitamet,tehasomnesquegubergrendefiniebas."[1]=>string(72)"Omnesqueullamcorperpriut.Ineosinsolensatomorummoderatius,mundi"[2]=>string(66)"menandriusucu.Namandicanttritaniphilosoph

php - 正则表达式 - 在特定字符的每个实例之后获取所有字符

我是正则表达式的新手,只是不知道如何编写一个模式来匹配我的需要。任何帮助都会很棒!我想使用PHP和正则表达式来捕获字符串中特定唯一字符(定界符)之后的每组字符,以及该定界符第一个实例之前的任何字符集。然后我想将所需的输出“匹配”到PHP数组中。示例分隔符:>示例字符串:$str='word1>word-2>word.3>word*4';我想要的匹配:array([0]=>'word1',[1]=>'word-2',[2]=>'word.3',[3]=>'word*4',);我查看了以下回复,虽然它们很接近,但并不能完全帮助我实现我的需要:getallcharactersafter","

php PHPExcel拆分Excel单元格坐标

目前,我使用PHPExcel导入excel文件,有一个函数$cell->getCoordinate();我想问一下有什么解决方案可以拆分单元格坐标alphabet和integer吗?例如A1、A2、我需要知道当前是哪一行,直到哪一列。我做了一些关于拆分的研究,但运气不好。有什么想法吗? 最佳答案 这个:$coord='AF13';preg_match_all('~[A-Z]+|\d+~',$coord,$split);print_r($split);将产生:Array([0]=>Array([0]=>AF[1]=>13))

php vs javascript 处理信息的速度

我有一个包含格式字符串的数据库:“键:值|键:值|键:值|键:值”由于某些其他原因,我无法将键值对存储在数据库中。我是否应该使用PHP拆分字符串并将其传递到javascript图表框架中,或者,我是否应该将完整的字符串传递给javascript并让javascript解析它。 最佳答案 理论上,两者都可以接受。实际上,我倾向于在服务器上做尽可能多的重复工作。如果您根据哪个可以做得更快来考虑它,您就会知道您的服务器可以做到多快。资源保持(相对)不变。在javascript中执行依赖于客户端环境。对于Web应用程序,客户端环境是无限变化

php - 需要正则表达式在长词中添加空格但忽略 HTML 标记和属性

我需要在产品描述中用户提供的位置(例如25)处的单词中添加空格,以允许正确换行。我知道可以使用CSS技巧,但这不是我想要的。到目前为止,我可以使用这种语法来执行此操作,但我遇到的问题是它正在拆分不应拆分的内容,例如HTML标记属性中的URL。$string='longwordlongwordlongwordsomeanchortextandtitlehere';$spacer=20;$newtext=preg_replace('/([^\s]{'.$spacer.'})(?=[^\s])/m','$1',$newtext);结果是这样的....longwordlongwordlongw

PHP preg_split 忽略转义序列

我怎样才能一个一个地拆分字符串但忽略转义字符?在我的例子中,我有字符串:-\ntest\rtest\n我希望它是这样的:-Array([0]=>\n[1]=>t[2]=>e[3]=>s[4]=>t[5]=>\r[6]=>t[7]=>e[8]=>s[9]=>t[10]=>\n)有人说用preg_split,但我对正则表达式了解不多。 最佳答案 反斜杠需要在RegEx中转义。当引用一个实际的反斜杠时,你需要一系列的三个\\\正则表达式匹配preg_match_all("/\\\?[^\\\]/",$str,$matches);现场演示代

php - 在分号上拆分 php 中的 sql 语句(但不在引号内)

当用户在自由格式字段中使用分号时,我的系统会导致错误。我将其追溯到一个简单的爆炸语句:$array=explode(";",$sql);因为这一行在一个从整个系统调用的子例程中,所以我想用可以正确拆分的东西替换这一行,而不会破坏系统的其余部分。我以为我是str_getcsv的赢家,但这也不够复杂。看下面的例子$sql="BEGIN;INSERTINTOTABLE_A(a,b,c)VALUES('42','12','\'ab\'c;DEF');INSERTINTOTABLE_B(d,e,f)VALUES('42','43','XY\'sZ;uvw')ONDUPLICATEKEYUPDAT

PHP:如何用破折号和括号之间的所有内容拆分字符串。 (preg_split 或 preg_match)

几天来我一直在思考这个问题,但似乎没有得到想要的结果。例子:$var="SomeWords-OtherWords(MoreWords)Dash-Binded-Word";期望的结果:array([0]=>SomeWords[1]=>OtherWords[2]=>MoreWords[3]=>Dash-Bound-Word)我能够使用preg_match_all使这一切正常工作,但随后“Dash-Bound-Word”也被分解了。尝试将它与周围的空格匹配是行不通的,因为它会破坏除破折号之外的所有单词。我使用的preg_match_all语句(它也分解了破折号绑定(bind)的词)是这样的:

php - 如何从右到左str_split字符串?

假设我有一个数字10000,我想将它从右到左分成2个字符,得到类似这样的数组[0]=>1,[1]=>00,[2]=>00。str_split($var,2);是否有可能? 最佳答案 必须有更简单的方法,但您可以使用类似的方法:array_map("strrev",array_reverse(str_split(strrev(10000),2)));[0]=>1[1]=>00[2]=>00strrev()-反转字符串str_split()-将字符串转换为数组array_reverse()-返回一个元素反向的数组订单array_map(