繁体   English   中英

PHP正则表达式排除URL中的字符串

[英]php regex exclude string in url

我有一个正则表达式

\(\'?.*(\/public\/images.*[^\'"])\'?\)

它与我的CSS文件中的ulrs相匹配。 这是示例:

  1. 背景:url( /public/images/new_layout/bg-nav-active.png )不重复100%100%;
  2. 背景:url( /public/images/new_layout/bg-nav-active.png?v=23423h423lj4h23l4jk23hl4jkh4h2kljh )不重复0-

但是,如何从网址中排除参数v ?v = 23423h423lj4h23l4jk23hl4jkh4h2kljh

谢谢你的帮助。

这样的事情就足够了。

\(\'?.*(\/public\/images[^\'"\?\)]+)

https://regex101.com/r/eZ7iO9/1

这将匹配字符串“ / public / images /”以及所有不在字符'"?)

该正则表达式将仅匹配URL,由于前瞻和前瞻,因此不带任何括号或?v

 (?<!\()['"]?.*(\/public\/images[^'"\?\)]+)

非贪婪的.+? 使不匹配?v s成为可能。

在这里查看示例

您的2个输入字符串的输出是:

/public/images/new_layout/bg-nav-active.png
/public/images/new_layout/bg-nav-active.png
str_replace('v=', '', $string)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM