![](/img/trans.png)
[英]How can I match an optional word with RegEx and not use backreferences?
[英]How to use backreferences in PHP
我想使用preg_replace()在文本正文中找到的每個文件擴展名的末尾添加一個字符。
這是一些示例文本:
$string='http://www.mysite.com/expert/images/imageone.jpghttp://www.mysite.com/expert/images/imagetwo.jpg';
此搜索和替換在TextWrangler中工作正常,將半冒號附加到文件擴展名:
(\.(jpg|gif|html?|php|tiff?|pdf|png))
\1;
翻譯成PHP,但是不起作用,沒有效果; 沒有錯誤。
preg_replace("/(\.(jpg|gif|html|php|tif|tiff|pdf|htm|png))/","\\1;",$string);
它對我來說很完美,但是您應該嘗試使用$1
:
$string = preg_replace("/.../","$1;",$string);
或將替換內容放在單引號中:
$string = preg_replace("/.../",'\\1;',$string);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.