草庐IT

safe_split

全部标签

php - preg_split 反斜杠

在我的PHP代码中,我在字符串中分配了带有命名空间的类名,例如:$my_class_name;//="Aaa\Bbb\Ccc";//thisisnotinsourcecode,justvardump我只需要中间名,在我的例子中是“Bbb”。我试着用这个:$result_array=preg_split("/\\/",$my_class_name);但是,它不起作用。我需要在正则表达式"/\\\/"中使用三重反斜杠才能使其正常工作。我的问题是:为什么我需要其中三个?我总是通过加倍来逃避反斜杠特殊功能。 最佳答案 你想在你的正则表达式中

PHP cli 命令行 safe_mode 限制

我使用的是生成每日日志的Kohana框架(3.0.9)。如果日志文件是在CRON运行脚本的前一天制作的,我想通过邮件发送,但经过几天的尝试后,我无法弄清楚如何在PHPCLI模式中推迟safe_mode。当我在网络上运行我的脚本时,没有问题。但是我想在我的Plesk9.5.2服务器上(或在命令行上以root用户身份)将脚本作为CRON任务运行,我收到以下错误:ErrorException[2]:dir():SAFEMODERestrictionineffect.Thescriptwhoseuidis10001isnotallowedtoaccess/var/www/vhosts/mydo

php - 'safe' json_decode( ,,, ) 以防止耗尽内存

在我的应用程序中,我经常调用一个返回json字符串的外部api。$url='api.example.com/xyz';$blah=json_decode(file_get_contents($url));但在某些情况下我得到PHPFatalerror:Allowedmemorysizeofxxxbytesexhausted(triedtoallocate32bytes)in...我无法控制外部API,当然我可以增加php的内存,但这有一些缺点。1-无论我设置什么尺寸,都可能仍然太小。2-如果我将内存大小设置为“无限”,那么我可能会冒着杀死我的服务器的风险。理想情况下,我想在调用json

PHP:我需要像 split() 这样的东西,但是

所以我实际上存储了一个html字段,但是我想添加一些伪标签以便于发布。IE。我想将标题/标题包装到这个标签中:>例如。>然后我会枚举它们、格式化并显示下面的文本。例如:>BreakingnewsonSunday.Havebeentakinghostages.>Wewouldwanttorecieveourblabla.Andyouwantit.>Yeahwewantitsomuch...实际应该显示:NewsBreakingnewsonSunday.Havebeentakinghostages.GeneralInformationWewouldwanttorecieveourblabl

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 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:如何用破折号和括号之间的所有内容拆分字符串。 (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(

php - 我正在尝试拆分/分解/preg_split 一个字符串,但我想保留分隔符

我正在尝试拆分/分解/preg_split一个字符串,但我想保留分隔符示例:explode('/block/','/block/2/page/2/block/3/page/4');预期结果:array('/block/2/page/2','/block/3/page/4');不确定我是否必须循环然后重新为数组值添加前缀,或者是否有更简洁的方法。我已经用PREG_SPLIT_DELIM_CAPTURE尝试过preg_split()但我得到了一些类似的东西:array('/block/,2/page/2','/block/,3/page/4');这不是我想要的。非常感谢任何帮助。

PHP preg_split : Split string by other strings

我想用一系列单词拆分一个大字符串。例如$splitby=array('these','are','the','words','to','split','by');$text='Thisisthestringwhichneedstobesplitbytheabovewords.';那么结果就是:$text[0]='Thisis';$text[1]='stringwhichneeds';$text[2]='be';$text[3]='above';$text[4]='.';我该怎么做?是preg_split最好的方法,还是有更有效的方法?我希望它尽可能快,因为我将拆分数百MB的文件。