繁体   English   中英

用 PHP 中的正则表达式替换字符串的一部分

[英]Replace part of a string with Regex in PHP

我有这个 URL:

https://example.com/[photo-s]/photo.jpg

有时[]之间的部分会发生变化。

在 PHP 中,我可以用另一个东西替换这个部分吗?

例子:

preg_replace('photo-[a-z]', 'newphotopath', 'photo-s');

谢谢。

$url = 'https://example.com/[photo-s]/photo.jpg';
preg_replace('~\[(.*?)\]~', 'something_new', $url);

->

https://example.com/something_new/photo.jpg

如果您打算替换.com/和以下/之间的所有内容,无论是否有括号,您都可以使用:

preg_replace('~.com\/(.*?)\/~', '.com/something_new/', $url)

->

https://example.com/something_new/photo.jpg

代码

$target = 'https://example.com/[photo-s]/photo.jpg';
$result = preg_replace('/\[photo-[a-z]+]/', 'somethingElse', $target);

Output

string(43) "https://example.com/somethingElse/photo.jpg"

工作示例

暂无
暂无

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

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