草庐IT

Preg_Replace

全部标签

PHP str_replace 空格的任意组合

我想确保字符串中的/字符始终在两边填充一个空格。对于PHP,我目前使用的是str_replace,但我不能保证所有情况都适用于任意数量的空格。$original="Yes/No";echostr_replace("/","/",$original)."\n";echostr_replace("/","/",$original)."\n";echostr_replace("/","/",$original)."\n";我知道我传递给str_replace函数的第一个参数/参数是错误的,因为它没有考虑周围的字符。下面是我想要实现的一些例子:OriginalDesired==========

php - 正则表达式(特别是 preg_split() PHP)

我在我的PHP应用程序中列出了一些日期,结果如下所示:April2016May2016June2016等我正在尝试使用preg_split将它们格式化为这样:array('April2016','May2016','June2016')我使用在线正则表达式编辑器来确定如何检测4个连续数字,这是我取得的进展:注意:我也删除了所有的空白——理想情况下,如果它只删除超过2个空格的空白会更好,即helloworld不会被改变,但hello世界会。preg_split('/\d\d\d\d/g',preg_replace('!\s+!','',$sidebar_contents));使用上面的方

php - 如何使用 preg_replace 用数组中的字符串替换子字符串? (PHP)

我有一个包含这些值的数据数组:Array([id]=>1[myid]=>9[date]=>2014-01-30[user]=>17[reason]=>sometexthere...)这个字符串包含引用数据数组索引的数字:$columns='(0)as"id",(1)as"myid",(2)as"date",(3)as"user",(4)as"reason"';是否可以更改括号中的数字,包括将括号中的数字更改为数组中的适当值?我知道如何使用(string)preg_replace((array)$patterns,(array)$replacements,(string)$subject

php - 使用 preg_replace 时如何忽略字符串中的某些单词

我想做的是$var="[h1]ThisisJustatext,[h1]andthisinsideit[/h1]Thisjustexample[/h1]";$output=preg_replace("/\[h1\](.*?)\[\/h1]/","$1",$var);echo$output;这里我想忽略第一个[/h1]来使结果正确,我该如何实现呢?有没有办法只获取第一个和最后一个标签?我不知道我应该做什么或尝试,我还不够好,无法尝试,已编辑输出是ThisisJustatext,[h1]andthisinsideitThisjustexample[/h1]但我希望得到ThisisJustat

使用数组的 php preg_replace - 具有重音字符的第一个或最后一个字母不起作用

在这个例子中,我有单词así,它以带重音的i字符结尾。$str="Astringcontainingthewordasíwhichshouldbechangedtocolorpurple";$prac[]="/\basí\b/i";$prac2[]="\$0";$str=preg_replace($prac,$prac2,$str);echo$str;它不会改变。但是,如果我有一个不以重音字符结尾或开头的单词,它确实会改变。例如:$str="Astringcontaininganotherwordwhichshouldbechangedtocolorpurple";$prac[]="/

php - 如何使用 preg_replace 去除过多的单个空格

我们正在从PDF文件中提取文本,结果中包含格式错误文本的频率很高。特别是在单词的字符之间添加空格。例如SEATTLE返回为SEATTLE。是否有preg_replace的RegEx表达式可以在n个单字符“单词”的情况下删除任何空格?具体来说,从超过3个单个字母字符且由空格分隔的字符串中删除空格?如果在谷歌上搜索了一段时间,但甚至无法想象如何构建表达式。如评论中所述,我不希望删除所有空格,但仅当出现>3个单个字母字符时才删除,例如WelcometotheGreaterSEATTLEarea应该变成WelcometotheGreaterSEATTLEarea。结果将用于全文搜索,因此不区分

php - preg_match 从字符串返回多个值

我想从一些URL中提取两个值。示例网址:cricket-ck-game-playhand-ball-hb-game-playvolley-ball-vb-game-playsoccer-sc-game-play我想分别提取完整游戏名称及其短名称,忽略URL末尾的-game-play部分。我尝试了以下代码,它返回“ck”、“hb”、“vb”、“sc”,但不返回全名。preg_match("/(?我得到的实际结果:array(1){[0]=>string(2)"ck"}预期结果:case:1(Incaseofexample1)-array(2){[0]=>string(7)"cricket

php - filter_var 与 preg_match

早上好我正在转换我正在处理的网站以与最新版本的PHP兼容,因此我正在检查并用未折旧的等效项替换所有ereg实例。然而,有人告诉我有一个名为filter_var的方便的PHP内置函数。我的问题是,使用filter_var而不是preg_match是否有意义?至于选择一个而不是另一个是否有性能提升或任何其他好处,如果有的话,它们是什么? 最佳答案 首先,关于过滤的PHP手册页:https://php.net/manual/en/book.filter.php其次,上下文是关键。一般来说,过滤器函数被设计为使用外部输入(标量或数组),或内

PHP PREG 正则表达式 : What does "\W" mean when using the UTF-8 modifier?

我知道正常phpregex(ASCII模式)“\w”(单词)表示“字母、数字和_”。但是,当您将多字节正则表达式与the"u"modifier一起使用时,这意味着什么??preg_replace('/\W/u','',$string); 最佳答案 任何不是字母、数字或下划线的内容。因此,就Unicode字符类而言,\W等同于不在L或N字符类中且不是下划线字符的每个字符。如果您使用\p{xx}编写它语法,它将等同于[^\p{LN}_]。 关于PHPPREG正则表达式:Whatdoes"\W

regex - 用 php preg_replace 只替换一次字符串

我需要一个replacestringonce函数,我相信preg_match可能是我最好的选择。我正在使用这个,但由于使用的动态性,有时这个函数表现得很奇怪:functionstr_replace_once($remove,$replace,$string){$pos=strpos($string,$remove);if($pos===false){//Nothingfoundreturn$string;}returnsubstr_replace($string,$replace,$pos,strlen($remove));}现在我正在采用这种方法,但遇到了下面列出的错误...。我正在