簡體   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