草庐IT

Preg_Replace

全部标签

php - preg_replace - 从字符串中去除不需要的字符以返回数值

我讨厌正则表达式,我希望有人可以帮助我使用正则表达式来与preg_replace一起使用。我想使用preg_replace从字符串中去除不需要的字符以仅返回一个数值。字符串格式如下:一些文本100英镑100英镑一些文字一些文本100一些文本非常感谢 最佳答案 $NumericVal=preg_replace("/[^0-9]/","",$TextVariable);[]中的^表示除以下内容以外的任何内容编辑删除了多余的+ 关于php-preg_replace-从字符串中去除不需要的字符以

php - 如何检查 preg_match() 是否为 False 而不是 True?

我有这段代码可以确保用户名只是字母和数字。但是我的代码设置方式,我需要它来检查preg_match的结果是false。现在它说“ifsecureechothis”。我需要它的逻辑说“如果不安全就说这个”。我该怎么做?if(preg_match('/[A-Z]+[a-z]+[0-9]+/',$username)){echo'Secureenough';} 最佳答案 你可以像这样否定条件:if(!preg_match('/^[A-Za-z0-9]+$/',$username)){echo'Notsecureenough';}此外,如果您

php - 替换此 HTML 标记的 preg_replace 正则表达式是什么?

我将如何转换这样的字符串:CONTENT进入这个:{it}CONTENT{/it}同时保持内容完整? 最佳答案 preg_replace('/(.*?)/','{it}$1{/it}',$text)这不是最通用的解决方案,但它适用于您的代码。也有可能将类属性的内容作为变量,但现在并不难理解。 关于php-替换此HTML标记的preg_replace正则表达式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

php - preg_replace 除了数字、字母、句点和斜杠之外的所有内容?

我有一个正则表达式,可以去掉除字母以外的所有内容。数字和句号。我如何也给它添加前斜线?$targetFile=preg_replace('/[^A-Za-z0-9-.]/','',$targetFileDirty); 最佳答案 您可以通过在前斜杠前加一个反斜杠来转义前斜杠-$targetFile=preg_replace('/[^A-Za-z0-9-.\/]/','',$targetFileDirty);或者,也许更好的是,您可以使用不同的定界符,例如$targetFile=preg_replace('#[^A-Za-z0-9-./

带有电子邮件验证问题的 php preg_match

我正在使用带有preg_match函数的php验证电子邮件地址。但我不断收到以下错误preg_match():Noendingdelimiter'^'found这是我的preg_match模式$pattern="^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";如何解决这个问题? 最佳答案 只需使用:$pattern="/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z

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_match 模式?

我正在编写一个PHP脚本,它接受来自用户的正则表达式模式,该模式由preg_match()使用。如何检查模式是否有效? 最佳答案 根据docs,preg_match()returnsFALSEifanerroroccurred.问题是它也会发出警告。处理此问题的一种方法是抑制错误消息的输出,捕获返回值,如果错误为假,则使用error_get_last()输出错误。有点像$old_error=error_reporting(0);//Turnofferrorreporting$match=preg_match(......);if($

php - 多字节函数来替换 preg_match_all?

我正在寻找一个多字节函数来替换preg_match_all()。我需要一个能给我一组匹配字符串的程序,例如preg_match()中的$matches参数。函数mb_ereg_match()似乎没有这样做——它只给我一个bool值,指示是否有任何匹配项。查看mb_*函数page,我没有随手看到任何可以替代preg_match()功能的东西。我用什么?编辑我是个白痴。我最初发布这个问题要求替换preg_match,当然是ereg_match。然而,这两个都只返回第一个结果。我想要的是preg_match_all的替代品,它返回所有匹配文本。但无论如何,正如hakre指出的那样,u修饰符在

php - 如何将 eregi 转换为 preg_match?

我正在使用一个使用的库eregi($match="^http/[0-9]+\\.[0-9]+[\t]+([0-9]+)[\t]*(.*)\$",$line,$matches)但由于eregi现在已被弃用,我想将上面的内容转换为preg_match。我试过如下preg_match($match="/^http/[0-9]+\\.[0-9]+[\t]+([0-9]+)[\t]*(.*)\$/i",$line,$matches)但它会抛出一个错误,提示Unknownmodifier'['infilename.php有什么解决这个问题的想法吗?谢谢 最佳答案