草庐IT

REGEX_EXTRACT

全部标签

php - 使用 extract($_POST) 不安全吗?

使用extract($_POST)不安全吗?如果是,那么我该怎么办? 最佳答案 是的。这与register_globals是一样的。这意味着如果有人注入(inject)一个名为“my_name”的值,变量“my_name”就会存在。如果它存在,如果您在某个地方使用变量$my_name,它可能会在您的脚本中带来一些垃圾或安全问题 关于php-使用extract($_POST)不安全吗?,我们在StackOverflow上找到一个类似的问题: https://st

php - 如何从 php 或 regex 中的字符串末尾删除特定字符

这个问题在这里已经有了答案:RemovingthelastcharacterofastringIFitis$variable[duplicate](5个答案)关闭10个月前。我正在动态生成一个字符串。例如字符串看起来像这样$string="this-is-a-test-string-for-example-";也可以这样$string="this-is-a-test-string-for-example";我想如果字符串末尾有一个连字符"-",它应该被删除。我怎样才能在php或正则表达式中做到这一点?

php - 最简单的问题: extract values from array

这是一个例子:Array([0]=>Array([title]=>Title_1[checkout]=>1[no_gateway]=>0)[1]=>Array([title]=>Title_2[checkout]=>1[no_gateway]=>1)[2]=>Array([title]=>Title_3[checkout]=>0[no_gateway]=>0)[3]=>Array([title]=>Title_4[checkout]=>1[no_gateway]=>1)[4]=>Array([title]=>Title_5[checkout]=>0[no_gateway]=>0)[5]

PHP RegEx - 获取所有数字

我有这个代码:$string="123456ABcd9999";$answer=ereg("([0-9]*)",$string,$digits);echo$digits[0];这会输出“123456”。我希望它输出“1234569999”即。所有数字。我怎样才能做到这一点。我一直在尝试很多不同的正则表达式,但无法弄清楚。 最佳答案 首先,不要使用ereg(它已被弃用)。其次,为什么不把它换掉:$answer=preg_replace('#\D#','',$string);请注意,\D是\d的倒数。所以\d匹配所有十进制数字字符(0-

regex - PHP preg_match_all 限制

我将preg_match_all用于非常长的模式。当运行代码时,我得到了这个错误:Warning:preg_match_all():Compilationfailed:regularexpressionistoolargeatoffset707830经过搜索,我得到了解决方案,所以我应该增加php.ini中的pcre.backtrack_limit和pcre.recursion_limit的值>/p>但是在我增加值并重新启动我的apache之后,它仍然遇到同样的问题。我的PHP版本是5.3.8 最佳答案 该错误与正则表达式的性能无关

Php Regex - 如何选择是否等于某物

classSomething{publicstaticfunctioncompile(&$subject,$replace,$with){$placeholders=array_combine($replace,$with);$condition='{[a-z0-9\_\-]+:[a-z_]+}';$inner='((?:(?!{/?if).)*?)';$pattern='#{if\s?('.$condition.')}'.$inner.'{/if}#is';while(preg_match($pattern,$subject,$match)){$placeholder=$match[

php - 在引号内使用带转义引号的 REGEX

我有一个PHPpreg_match_all和REGEX问题。我有以下代码:Blahhhh"';preg_match_all('/(.*?)\s*=\s*(\'|"|&#?\w+;)(.*?)\2/s',trim($string),$matches);print_r($matches);?>对于我想在带有引号的HTML中传递的实例,这似乎没有选择转义引号。我已经用引号REGEX修复中的基本引号尝试了很多解决方案,但似乎没有一个对我有用。我似乎无法将它们正确地放置在这个预先存在的REGEX中。我不是REGEX高手,有人能给我指明正确的方向吗?我想要达到的结果是这样的:Array([0]=>

php - 通过 REGEX 删除 CSS 注释时出错

事实证明这两个序列(以前有效)"`([\n\A;]+)\/\*(.+?)\*\/`ism"=>"$1",//error"`([\n\A;\s]+)//(.+?)[\n\r]`ism"=>"$1\n",//error现在在PHP7.3中抛出一个错误警告:preg_replace():编译失败:转义序列在字符类偏移量4中无效上下文:考虑这个snipit,它从字符串中删除CSS注释$buffer=".selector{color:#fff;}/*somecommenttoremove*/";$regex=array("`^([\t\s]+)`ism"=>'',"`^\/\*(.+?)\*\/

php - 在 PHP (RegEx) 中提取已加载页面的部分内容

我有一个时事通讯系统,我正试图将其整合到一个PHP站点中。PHP站点加载一个内容区域,并将脚本加载到页面的头部。这适用于为网站生成的代码,但现在我有了要合并的时事通讯。最初我打算使用iFrame,但AJAX和jQuery调用的数量使它变得相当复杂。所以我想我可以使用cURL将时事通讯页面作为变量加载。然后我打算使用RegEx抓取正文标签之间的内容并将其放置在内容区域中。最后,我打算再次使用RegEx来搜索头部并抓取任何脚本。$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$config_live_site."lib/alerts/user/upd

php - REGEX 从不匹配 .htaccess 中的 Origin

我有10个子域并从子域(static.88n8.com)获取所有静态文件。我想允许.htaccess中所有子域的交叉来源:SetEnvIfOrigin"^http(s):\/\/(www\.google.com|google\.com|88n8\.com|second\.88n8\.com|third\.88n8\.com|fourth\.88n8\.com)$"OriginDomainStr=$0HeaderaddAccess-Control-Allow-Origin%{OriginDomainStr}eenv=OriginDomainStr或者这个:SetEnvIfOrigin"^