我有这个字符串:
http://scontent-b.xx.fbcdn.net/hphotos-prn2/t1/c22.0.100.100/p100x100/1489204_568091786618712_2075358603_n.jpg
我想删除字符串的以下部分:
c22.0.100.100/p100x100/
...但是以下部分字符串是动态的(更改):
c22.0.100.100
我认为有可能在某种程度上将PHP preg_
函数与正则表达式结合使用? 示例:从/p100x100/
向后移除到下一个/
??
有没有人能解决这个问题?
答案 0 :(得分:1)
CODE:
$a = 'http://scontent-b.xx.fbcdn.net/hphotos-prn2/t1/c22.0.100.100/p100x100/1489204_568091786618712_2075358603_n.jpg';;
$b = preg_replace("/[^\/]*\/p100x100\//",'',$a);
echo 'A: '.$a."\n";
echo 'B: '.$b."\n";
这个正则表达式[^\/]*\/p100x100\/
取代了......
[^\/]*
尽可能多的非'/'\/p100x100\/
后跟/ p100x100 / ''
没有任何内容输出:
A: http://scontent-b.xx.fbcdn.net/hphotos-prn2/t1/c22.0.100.100/p100x100/1489204_568091786618712_2075358603_n.jpg
B: http://scontent-b.xx.fbcdn.net/hphotos-prn2/t1/1489204_568091786618712_2075358603_n.jpg
答案 1 :(得分:0)
preg_replace('¦/t1/.*/p100x100/¦', '/t1/', $string)
虽然使用。*可能会引发一些有趣的问题。*但是没有关于可替换字符串可能是什么的任何其他信息它是最好的。
你最终的目标是什么?它做了什么,它需要做什么,以及为什么,这些都是帮助人们回答的难题的一部分:)
答案 2 :(得分:0)
这样做是为了删除c22.0.100.100/p100x100/
<?php
$str="http://scontent-b.xx.fbcdn.net/hphotos-prn2/t1/c22.0.100.100/p100x100/1489204_568091786618712_2075358603_n.jpg";
echo preg_replace('~(?<=t1).*(?=\/)~',"",$str);
答案 3 :(得分:0)
怎么样:
preg_replace('~/c\d+(?:\.\d+){3}/p100x100\b~', '', $str)