草庐IT

REGEXP_REPLACE

全部标签

php - 弃用 : preg_replace(): The/e modifier is deprecated, 改用 preg_replace_callback

我需要一点帮助。因为preg_replace已弃用,我必须将所有mypreg_replace转换为preg_replace_callback...我尝试过的:改变:$template=preg_replace("#\\[aviable=(.+?)\\](.*?)\\[/aviable\\]#ies","\$this->check_module('\\1','\\2')",$template);收件人:$template=preg_replace_callback("#\\[aviable=(.+?)\\](.*?)\\[/aviable\\]#isu",return$this->che

php - 相当于 PHP 的 preg_replace() 的 Shell

大家好。我正在寻找一种方法来做与PHP的preg_replace()相同的事情在shell脚本中执行(搜索与正则表达式匹配的文本并替换它)。因此,请考虑以下文件。Website#1Website#2Website#3我想得到这个:http://example.com/http://example.net/http://example.org/有没有办法做到这一点?谢谢。 最佳答案 您可以将sed用作:sed-r's/.*href="([^"]*)".*/\1/'fileSeeit 关于p

php - preg_replace() 和\n 在一个字符串中

出于某种原因,preg_replace("/\\n/","",$string);不工作。字符串以这种格式输出:blahblahblah\nblahblahblah即使在preg替换之后。我想更改.nl2br()也不起作用,但由于它只是文本,我不确定它是否应该。preg_replace函数作用于字符串中的一个词。:( 最佳答案 如果你想替换文字\n而不是实际的新行,尝试:",'Hello\nWorld');注意反斜杠的数量。双引号括起来的字符串/\\\\n/被PHP引擎解释为/\\n/。此字符串在传递给预置引擎时被解释为文字\n。请注

php - 如何在preg_replace_callback()中使用静态方法作为回调参数?

我正在使用preg_replace_callback查找文本链接并将其替换为实时链接:http://www.example.com到www.example.com我为函数提供的回调函数在另一个类中,所以当我尝试时:returnpreg_replace_callback($pattern,"Utilities::LinksCallback",$input);我收到一条错误消息,声称该函数不存在。有什么想法吗? 最佳答案 在PHP中使用类方法作为回调时,必须使用array形式的回调。也就是说,您创建一个数组,其第一个元素是类(如果方法是

php - preg_replace : bad regex == 'Unknown Modifier' ?

我正在编造假的电子邮件地址,我只是想确保它们采用有效的电子邮件格式,所以我试图删除不在以下集合中的任何字符:$jusr['email']=preg_replace('/[^a-zA-Z0-9.-_@]/g','',$jusr['email']);我在我的windows机器上没有遇到任何问题,但是在linux开发服务器上我每次运行这段代码时都会收到这个错误:Warning:preg_replace()[function.preg-replace]:Unknownmodifier'g'in/var/www/vhosts/....我认为这是正则表达式字符串,但我无法确定。帮助不大?谢谢。澄清

PHP preg_replace 用三种不同的模式三次?对还是错?

一个简单的问题:这是最好的方法吗?$pattern1="regexp1";$pattern2="regexp2";$pattern3="regexp3";$content=preg_replace($pattern1,'',$content);$content=preg_replace($pattern2,'',$content);$content=preg_replace($pattern3,'',$content);我要过滤掉三个搜索模式!我上面的代码是否合适或是否有更好的方法? 最佳答案 当你用相同的东西替换所有的东西时,你可

PHP "str_replace"在某些情况下无法正常工作?

下面是我使用的php代码$file_handle=fopen("products.csv","r");$fname="products.csv";$fhandle=fopen($fname,"r");$content=fread($fhandle,filesize($fname));$server="**\******,1433";$connectionInfo=array("Database"=>"******","UID"=>"***","PWD"=>"*******");$conn=sqlsrv_connect($server,$connectionInfo);if($conn=

php - 有没有办法在preg_replace_callback 回调函数中传递另一个参数?

嗯,伙计们,我真的希望我的英语很好,足以解释我需要什么。让我们以代码的示例(这只是一个示例!)为例:classSomething(){publicfunctionLower($string){returnstrtolower($string);}}classFoo{public$something;public$reg;public$string;publicfunction__construct($reg,$string,$something){$this->something=$something;$this->reg=$reg;$this->string=$string;}pub

php - 如何添加/进入 preg_replace 模式

我做了这个简单的函数来过滤数据。我添加了我允许包含的符号,但我也不知道如何添加/符号publicfunctionfilter($text){returnpreg_replace('/[^^a-zA-Z0-9#@:_(),.!@"]/','',$text);} 最佳答案 您可以使用反斜杠将其转义:preg_replace('/\//'...);或者使用其他字符作为分隔符:preg_replace('|/|'...); 关于php-如何添加/进入preg_replace模式,我们在Stack

php - PHP 中的 preg_replace - NOT 条件的正则表达式

我正在尝试使用preg_replace在PHP中编写一个函数,它将替换列表中未找到的所有字符。通常我们会在找到它们的地方进行替换,但这次不同。例如,如果我有字符串:$mystring="ab2c4d";我可以编写以下函数,用*替换所有数字:preg_replace("/(\d+)/","*",$mystring);但是我想替换那些既不是数字也不是字母的字符,从a到z。它们可以是#$*();~!{}[]|\/.,?'等等所以除了数字和字母之外的任何东西都应该被其他东西代替。我该怎么做?谢谢 最佳答案 您可以使用negatedchara