草庐IT

Non-replaced

全部标签

破折号的 PHP preg_replace 正则表达式

我正在尝试替换字符串中不是字母、数字或破折号“-”的任何内容。如何修改此行以包含破折号?$link=preg_replace('/[^a-z0-9]/',"",strtolower($_POST['link_name']));我只是把它插进去吗?$link=preg_replace('/[^a-z0-9-]/',"",strtolower($_POST['link_name'])); 最佳答案 你必须转义-因为它是正则表达式的特殊字符:$link=preg_replace('/[^a-z0-9\-]/','',strtolower(

php - 使用 preg_replace 删除 php 中两个字符串之间的文本

我一直在尝试从两个标签之间的站点字符串中删除一段文本。例如:ThisisCROPSTARTnotveryCROPENDcool....应该变成这样...Thisiscool.这是我试过的PHP,通常它可以工作:preg_replace('#\/\/CROPSTART[\s\S]+\/\/CROPEND#','',$string);但是,当字符串包含多个“CROPEND”时,它会裁剪从CROPSTART到最后一个CROPEND的所有内容。我希望它只在第一个CROPSTART和第一个CROPEND之间裁剪。有人知道怎么做吗?谢谢旺科 最佳答案

php - Symfony 2.5 "You have requested a non-existent service "siteTest.b"

当运行workspace/app_dev.php时,没问题。但是当我尝试运行workspace/app.php时,我得到:"Youhaverequestedanon-existentservice"siteTest.b"我不知道我做错了什么。应用程序/配置/config.yml:imports:-{resource:parameters.yml}-{resource:security.yml}framework:secret:"%secret%"router:resource:"%kernel.root_dir%/config/routing.yml"strict_requiremen

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 - 第 332 行的 fatal error : Call to a member function getId() on a non-object in C:\wamp\www\magentno\lib\Varien\Data\Tree\Dbp. php

我正在使用Magento1.8.0.0,我通过本地主机在WAMP服务器上安装了一个测试版本,当我想添加类别时,出现下一个错误:fatalerror:在C:\wamp\www\magentno\lib\Varien\Data\Tree\Dbp.php中的非对象上调用成员函数getId()第332行我还没有开店,因为我需要那个类别。我已经在出现错误的行中添加了tryandcatch代码。这是给出错误的代码:publicfunctionloadEnsuredNodes($category,$rootNode){$pathIds=$category->getPathIds();$rootNod

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