草庐IT

hot-module-replacement

全部标签

php - addslashes() for preg_replace() 和 co.?

如何转义传入数据,以便在preg_replace()和consorts中将其用作模式?例如,我需要匹配这个字符串:/vorschau/显然,我需要对“v”进行转义,否则会出错。我在文档中找不到任何内容。是否有某种addslashes()或表达式中的解决方法? 最佳答案 如果我没有正确理解你的问题,你正在寻找preg_quote:stringpreg_quote(string$str[,string$delimiter=NULL])preg_quote()takesstrandputsabackslashinfrontofeveryc

php - 如何使用 preg_replace() 函数将两个不同的字符替换为一个字符?

如何使用preg_replace()函数将电子邮件地址中的@和.符号替换为-符号在PHP中? 最佳答案 不需要使用preg_replace。使用str_replace相反:$output=str_replace(array('@','.'),'-',$input); 关于php-如何使用preg_replace()函数将两个不同的字符替换为一个字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

php - php中的unicode preg_replace问题

我得到了字符串$result="beieinerTemperatur,dieetwa20bis60°CunterhalbdesSchmelzpunktesderkristallinenModifikation"直接来自MySQL表。表格和phpheader都设置为UTF-8我想去除“学位”符号:http://en.wikipedia.org/wiki/Degree_symbol并将其替换为“度”一词以获得:“beieinerTemperatur,dieetwa20bis60degreesCunterhalbdesSchmelzpunktesderkristallinenModifika

php - 用 str_replace 只替换字符串的第一个字符?

我试图只替换字符串的第一个字符,但它不起作用,它替换了字符串中的所有“0”,这是我的代码:$mes2=str_replace('0','',$mes[0]);我只想替换第一个字符,例如:07becomes7我不想一直替换,例如:11becomes1,idon'twantit.我也尝试过这种方式,但它没有按照我想要的方式工作,因为如果它是0,它也会替换第二个字符,就像10变成1。$mes2=preg_replace('/0/','',$mes,1); 最佳答案 好的,根据对您问题的改进,您可能想要的是ltrim。$out=ltrim(

php - 如何使用 RegexIterator::REPLACE 模式?

我的代码有什么问题:$i=newRegexIterator(newArrayIterator(array('test1'=>'test888','test2'=>'what?','test3'=>'test999')),'/^test(.*)/',RegexIterator::REPLACE);foreach($ias$name=>$value)echo$name.'=>'.$value."\n";迭代器是空的,为什么?感谢您的帮助! 最佳答案 如果您省略操作模式(新RegexIterator语句中的第3个参数),您将获得匹配值,如

php - Zend Framework 2 - 在 Module.php 中用工厂替换闭包

我正在使用ZendFramework2开发一个系统,并在application.config.php中打开keyconfig_cache_enabled闭包收到错误:Fatalerror:Calltoundefinedmethodset_stateClosure::__()in/home/user/www/myProject.com/data/cache/module-config-cache.app_config.phponline185.更好地搜索我发现不建议在Module.php中使用闭包,因为那是导致配置缓存中出现此错误的原因,考虑到这一点我读了一些建议将闭包替换为工厂。这就是

php - Prestashop 1.6,冲突: 2 different modules requiring same class, 不同版本

在我的Prestashop项目中,我有几个模块。在其中一个(我们称之为“AWS”)中,我使用composer(在PHPStorm中)安装了AWSSDK,如here所述。.Composer已经“需要”,在其他库中,“guzzlehttp”,更新到它的最终版本。另一方面,还有另一个模块(我们称它为“orangeConnect”)也带有composer,它有一个早期版本的“guzzlehttp”。问题出在我在php中使用AWSSDK时,在第一个模块的php脚本中。发生的事情是它试图调用URIComposer类,但它崩溃了。其实是因为没有一类“UriResolver”。问题是,如果我删除“or

php - preg_replace 与 preg_filter

preg_replace和preg_filter有什么区别?在某些情况下使用其中一个而不是另一个有什么优势吗?我尝试阅读文档,但仍然不太了解它们之间的区别。请赐教。谢谢。 最佳答案 preg_filter优于preg_replace的优点是您可以检查是否有任何内容被替换,因为如果没有任何内容被替换,preg_filter将返回null,而preg_replace无论如何都会返回主题。$subject='chips';$pattern='/chops/';$replacement='flops';if(is_null(preg_fil

php - preg_replace 不适用于某些单词/字符

$str='کسنےموسیٰکےبارےمیںسناہے؟';$str=preg_replace('/(?这无法替换موسیٰ。它应该给出کسنےMusaکےبارےمیںsunaہے؟而不是给出کسنےموسیٰکےبارےمیںsunaے͟。所有以ٰ结尾的单词都会发生这种情况,例如تعالیٰ。它适用于ٰ位于单词中间的单词(没有以ٰ开头的单词)。这是否意味着\b不能与ٰ一起使用?是错误吗? 最佳答案 原因是单词边界在以下位置匹配:Beforethefirstcharacterinthestring,ifthefirstchar

php - Preg_replace,只替换( )中的模式部分?

很抱歉这个基本问题,但我一直在查看我能找到的关于preg_replace的所有信息,但我仍然无法弄清楚。我有一个大字符串,例如:$string='#tjs{fassdaf}#fsk{fssf}#fskff{casf}';当我这样做时,它会替换整个模式,而不仅仅是()中的部分,因为我希望它这样做。我想知道如何才能替换()中的部分。谢谢$pattern='/#.*tjs.*\{.*(.*)\}/imsU';$replacement="test";$return_string=preg_replace($string,$pattern,$replacement);预期被替换的字符串:'#tj