我用http://gskinner.com/RegExr/生成了以下正则表达式代码它在哪里工作,但是当我用PHP执行它时,它无法在替换字符串中使用匹配项。preg_replace('/(?)\b\w*\b|^\w*\b/','$&','anexample');输出:$&example预期:anexample我知道显然$&没有做正确的事情,但我怎样才能让它工作? 最佳答案 改用这个试试preg_replace('/(?)\b\w*\b|^\w*\b/','$0',$string);$0表示它将成为您的正则表达式中第一个匹配的东西,$1
我想用一个特定的词替换多个同义词。结果:本田是一辆汽车。雷克萨斯是一辆汽车。日产是一辆汽车。Scion是一辆汽车。谁能告诉我用“汽车”一词替换“车辆、卡车、轿跑车、轿车”的简洁方法,而不是我单独替换所有4个。谢谢。 最佳答案 $a=array('truck','vehicle','sedan','coupe');$str='Hondaisatruck.Toyotaisavehicle.Nissanisasedan.Scionisacoupe.';echostr_replace($a,'car',str_replace('Toyota
很长一段时间我都使用这个“替换功能”通过InstagramAPI获取缩略图,它运行良好,但现在他们改变了一些东西,我不再通过这种方式使用更大的缩略图。src="images->thumbnail->url)?>">默认缩略图,效果很好。https://scontent.cdninstagram.com/vp/94387bd7b8a247f3f4039f8789772142/5AEE2A9E/t51.2885-15/s150x150/e35/c0.135.1080.1080/26335890_2247807142112483_5882778660510892032_n.jpg但将缩略图大
编辑:好的,我有一些数据(大量数据)是从MySQL数据库表中提取的,数据的输入方式没有什么特别之处。当解析数据并将其重新显示到Firefox时,这个符号�出现了。当我将它与数据库条目进行比较时,它看起来像一个空格(没什么特别的)。我使用所有默认的PHP/MySQL设置。做var_dump或print_r也没有帮助。有什么想法吗?符号:�更新:好的,我确实找到了导致问题的字符-不要与混淆-(连字符)。 最佳答案 字符�是REPLACEMENTCHARACTER(U+FFFD).当UTF代码中出现错误时使用它:FFFD�REPLACEM
我有aPHP5.3script显示我网站的用户并想用它的旧名称替换某个俄罗斯城市(存储在PostgreSQL8.4.7数据库中的UTF8+CentOS5.5/64位Linux)(这是一个内部笑话):preg_replace('/Волгоград/iu','Сталинград',$city);不幸的是,这仅适用于完全匹配:Волгоград。这不适用于其他情况,例如ВОЛΓОΓРАД或волгоград。如果我将源代码修改为preg_replace('/[Вв]олгоград/iu','Сталинград',$city);然后它会捕获上面的第二种情况。有谁知道这是怎么回事以及如何
我正在尝试替换字符串中不是字母、数字或破折号“-”的任何内容。如何修改此行以包含破折号?$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(
我一直在尝试从两个标签之间的站点字符串中删除一段文本。例如:ThisisCROPSTARTnotveryCROPENDcool....应该变成这样...Thisiscool.这是我试过的PHP,通常它可以工作:preg_replace('#\/\/CROPSTART[\s\S]+\/\/CROPEND#','',$string);但是,当字符串包含多个“CROPEND”时,它会裁剪从CROPSTART到最后一个CROPEND的所有内容。我希望它只在第一个CROPSTART和第一个CROPEND之间裁剪。有人知道怎么做吗?谢谢旺科 最佳答案
如何转义传入数据,以便在preg_replace()和consorts中将其用作模式?例如,我需要匹配这个字符串:/vorschau/显然,我需要对“v”进行转义,否则会出错。我在文档中找不到任何内容。是否有某种addslashes()或表达式中的解决方法? 最佳答案 如果我没有正确理解你的问题,你正在寻找preg_quote:stringpreg_quote(string$str[,string$delimiter=NULL])preg_quote()takesstrandputsabackslashinfrontofeveryc
如何使用preg_replace()函数将电子邮件地址中的@和.符号替换为-符号在PHP中? 最佳答案 不需要使用preg_replace。使用str_replace相反:$output=str_replace(array('@','.'),'-',$input); 关于php-如何使用preg_replace()函数将两个不同的字符替换为一个字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q
我得到了字符串$result="beieinerTemperatur,dieetwa20bis60°CunterhalbdesSchmelzpunktesderkristallinenModifikation"直接来自MySQL表。表格和phpheader都设置为UTF-8我想去除“学位”符号:http://en.wikipedia.org/wiki/Degree_symbol并将其替换为“度”一词以获得:“beieinerTemperatur,dieetwa20bis60degreesCunterhalbdesSchmelzpunktesderkristallinenModifika