草庐IT

regex_replace

全部标签

php - 如何使用 PHP preg_replace 链接 Twitter 用户名?

我想搜索我的推特状态对象的文本属性并将@username换成@username.到目前为止我尝试过的是这样的:$pattern='/([@]{1})([a-zA-Z0-9\_]+)/';$replace='\1\2';$new_string=preg_replace($pattern,$replace,$text);但它不做任何替换。我知道我的regexp是错误的,但我无法弄清楚确切的位置/原因。帮忙?**编辑:...根据要求提供示例数据?$text='@janesmithIlikethat,butmyfriend@johndoesaiditbetter.';期望的输出:@janesm

php - preg_replace - 如何匹配任何不是\*\*的东西

我似乎无法找出正则表达式来匹配格式中的任何字符串**(anythingthat'snot**)**我试过在php中这样做$str="**helloworld*hello**";$str=preg_replace('/\*\*(([^\*][^\*]+))\*\*/s','$1',$str);但没有进行字符串替换。 最佳答案 您可以使用assertion?!与字符配对.占位符:=preg_replace('/\*\*(((?!\*\*).)+)\*\*/s',这基本上意味着匹配任意数量的任何东西(.)+,但是.永远不能占据\*\*的位

php - REGEX 协助嵌套模式?

我有以下字符串需要解析:[QUOTE=Mark][QUOTE=Jack]HowareyoudoingMark?[/QUOTE]GoodtohearfromyouJack,Imdoingfine![/QUOTE]我主要是尝试通过使用以下REGEX将[quote]区域转换为程式化的DIV来将这组BBCode转换为HTMLtext=text.replace(/\[QUOTE=(.*?)]([\s\S]*?)\[\/QUOTE\]/gi,'Quoteby$1$2');此代码将正确解析出第一组引号,但不会解析出嵌套级别的引号。有什么办法可以改善表达吗? 最佳答案

php - PHP ereg_replace 中的欧元符号

我想在此正则表达式中允许使用欧元符号€,但它不会通过$val=ereg_replace($regex,"[^a-zA-Z0-9[:space:][:blank:]€+-]+",$_REQUEST[$var]); 最佳答案 你有安装mbstring吗?如果是这样,请尝试使用函数mb_ereg_replace().它将支持这个字符(甚至在UTF-8中)。编辑:还要检查mbregex是否打开。有些主机打开mbstring但禁用mbregex(我不知道为什么)。 关于php-PHPereg_re

php - preg_replace 能否一次进行多个搜索和替换操作?

这是如何完成的,分几行://$strrepresentsstringthatneedscleaning:$str="Stringwithline\nbreakandtoomuchspaces";//Cleanstringwithpreg_replace():$str=preg_replace('/[\x00-\x09\x0B-\x1F\x7F]|^+|+$/','',$str);$str=preg_replace('/\x0A|+/','',$str);echo$str;//Output:"Stringwithlinebreakandtoomuchspaces"我的问题集中在将两个pr

php - preg_replace 模式和主题数组返回空数组

我想要一种从$keywords中删除$badwords元素的简单方法。我有什么(举个例子)$keywords=array('sebastian','nous','helene','lol');//itcouldbeanythinginfact$badwords=array('nous','lol','ene','seba');//arrayfullofstopwordsthatIwon'twritehere$filtered_keywords=array_filter(preg_replace($badwords,'',$keywords),'strlen');print_r($fil

php - 如何在 Zend Framework 2 中为 RegEx 路由的 RegEx 设置 (UTF8) 修饰符?

我有troubleswith(german)specialcharactersinURIs并想尝试用RegExRoute来解决它和一个PCREpatternmodifier对于UTF-8u。'router'=>array('routes'=>array(//...'city'=>array('type'=>'regex','options'=>array('regex'=>'/catalog/(?[a-zA-Z0-9_-äöüÄÖÜß]*)\/u','defaults'=>array('controller'=>'Catalog\Controller\Catalog','action'

php - preg_replace 在省略时插入默认值

我正在尝试为preg_replace处理一些正则表达式,当它不在主题中时,它会插入一个默认的key="value"。这是我所拥有的:$pattern='/\[section([^\]]+)(?!type)\]/i';$replacement='[section$1type="wrapper"]';我想让它变成:[sectiontitle="Thisisthetitle"]进入:[sectiontitle="Thisisthetitle"type="wrapper"]但是当有值的时候,我不希望它匹配。这意味着:[sectiontitle="Thisisthetitle"type="ful

php 挑战 : parse pseudo-regex

我遇到了一个我无法解决的挑战,但对于用算法思考的人来说,这似乎很有趣而且相对容易...如果我的搜索词有一个“?”其中的字符,这意味着它不应该关心前面的字符是否存在(如在正则表达式中)。但我希望我的程序打印出所有可能的结果。几个例子:“tab?le”应该打印出“table”和“tale”。结果数始终为问号数的2次方。再举一个例子:“carn?ati?on”应该打印出来:克拉顿关爱康乃馨康乃馨我正在寻找一个函数,它可以接收带问号的单词并输出一个包含所有结果的数组... 最佳答案 以您的“carn?ati?on”为例:你可以在“?”上将单

php - 在 PHP 中使用 RegEx 从 URL 获取 Facebook 视频 ID 的多种变体

这个问题已经在StackOverflow上被问过很多次了,我也看了很多次,但我找到的所有答案都只能找到FacebookURL的一种变体,但我需要确保你可以使用可以使用的任何变体。https://www.facebook.com/username2/videos/100000000000000http://www.facebook.com/photo.php?v=107084586333124http://www.facebook.com/photo.php?more=difficult&v=107084586333124http://www.facebook.com/?v=107084