草庐IT

php - 多个字符串替换

我需要用关联的文本替换多个文本示例:我有这样的字符串:"appleisagreatfruit"现在我需要将"apple"替换为"stackoverflow",将"fruit"替换为"website"我知道我可以使用str_replace,但还有其他方法吗?str_replace在我的情况下会很慢,因为我需要替换至少5到6个单词感谢帮助。 最佳答案 或者,如果您不喜欢这样(担心错过匹配的数组值),那么您可以这样做:$start=$replace=$array();$str="Ilikeoldcowandudder"$start[]='

php - 使用 preg_replace() 和正则表达式将大写字符串替换为小写字符串

是否可以使用preg_replace和regex将大写字母替换为小写字母?例如:以下字符串:$x="HELLOLADIES!";我想把它转换成:helloladies!使用preg_replace():echopreg_replace("/([A-Z]+)/","$1",$x); 最佳答案 我想这就是你想要完成的:$x="HELLOLADIES!Thisisatest";echopreg_replace_callback('/\b([A-Z]+)\b/',function($word){returnstrtolower($word[

php - preg_replace : add number after backreference

情况我想使用preg_replace()在每个[aeiou]之后添加一个数字'8'。示例来自abcdefghija8bcde8fghi8j问题替换字符串应该怎么写?//inputstring$in='abcdefghij';//thisobviouslywon'twork----------↓$out=preg_replace('/([aeiou])/','\18',$in);这只是一个例子,所以建议str_replace()不是一个有效的答案。我想知道如何在替换字符串中的反向引用后得到数字。 最佳答案 解决方案是将反向引用包装在$

PHP preg_match_all 搜索和替换

我已经尝试了大约一百万种不同的正则表达式,但我就是无法理解这个(诚然,我无法掌握很多正则表达式)。在我的文本中我有这样的变量:{{$one}}{{$three.four.five}}{{$six.seven}}我有一个包含所有替换项的数组('one'的索引是'one'等),但有些可能会丢失。我想从数组中替换它(如果存在),如果不存在则保留文本。我可以使用什么正则表达式来预匹配下面代码段中$text中的所有变量,在适当的地方从$replace替换并回显到浏览器?'1','testc.testa'=>'2','testf'=>'3');$text='{{$testa.testb.testc

php - 删除除数字和减号以外的所有内容 PHP preg_replace

我现在有preg_replace('/[^0-9]/s','',$myvariable);例如输入是GB-3。我当前的行为我提供了值3。我希望能够保留负号,以便该值显示-3而不是当前输出的3。 最佳答案 试试这个:preg_replace('/[^\d-]+/','',$myvariable);正则表达式分解://两边都是正则分隔符——里面的一切都是正则[]表示这是字符类。Ruleschangeincharacterclass^里面的字符类代表“不”。\d是[0-9]的简写,区别在于字符类内外均可使用-将匹配减号+最后是量词,表示匹

php - mb_str_replace()... 很慢。有什么选择吗?

我想确保我正在运行的一些字符串替换是多字节安全的。我在网上找到了一些mb_str_replace函数,但它们很慢。我说的是在通过它传递500-900字节后增加20%。有什么建议吗?我正在考虑使用preg_replace,因为它是native的并已编译,所以它可能会更快。如有任何想法,我们将不胜感激。 最佳答案 如前所述there,str_replace在utf-8上下文中使用是安全的,只要所有参数都是utf-8有效的,因为它不会是两个多字节编码字符串之间的任何模糊匹配。如果您检查输入的有效性,则无需寻找其他函数。

php - 如何使用 preg_replace 从某个字符中删除任何内容,直到字符串结束?

嗨我需要删除“_”中的所有字符,直到字符串结尾。我试过:$string='merry_christmas';$string=preg_replace('/_*/','',$string);echo$string;//Ineedittobe:'merry'...但是没有。想法是删除下划线字符'_'及其右侧的所有字符。谢谢 最佳答案 下面的会快很多;$str='merry_christmas';$str=substr($str,0,strpos($str,'_')); 关于php-如何使用p

php - 从 PHP 字符串中删除除字母以外的所有内容

如何从字符串中删除字母以外的所有内容?我有一个名字输入字段。 最佳答案 在PHP中,您可以使用(如@rczajka和@mario所建议的那样):preg_replace('/\PL/u','',$str)工作示例:http://codepad.viper-7.com/V78skl您可能需要查看此Tutorialforregex 关于php-从PHP字符串中删除除字母以外的所有内容,我们在StackOverflow上找到一个类似的问题: https://stac

php - 使用 php 的 preg 替换从字符串中删除反斜杠\

我想使用phppregreplace单独删除反斜杠。例如:我有一个字符串看起来像$var="Thisisthefor\testingandiwanttoaddthe#andremove\slashalonefromthegivenstring";如何使用phppreg_replace单独从相应的字符串中删除\ 最佳答案 当str_replace更容易时,为什么要使用preg_replace。$str=str_replace('\\','',$str); 关于php-使用php的preg替

php验证问题 行尾字符无效;预计 "\n"但找到 "\r\n"

这个问题在这里已经有了答案:FixingSublimeText2lineendings?(4个答案)关闭6年前。我正在使用Sublime文本编辑器。我想验证validator中的Prestashop模块.但它显示错误Endoflinecharacterisinvalid;expected"\n"butfound"\r\n"这行代码只包含.我已经搜索并替换为来自不同编辑器的“\r\n”和“\n”。但它根本不起作用。你能告诉我如何解决这个问题吗?任何帮助和建议都将非常感激。谢谢