2017-03-01 84 views
1

我需要在代码没有问题,这两个功能在PHP合并两个功能回声

<meta name="twitter:image" value="<?php echo(str_replace("367.jpg", "150.jpg", $imageSrc)) ?>"/
    and 
    <meta name="twitter:image"value="<?= substr($imageSrc, 0, strpos($imageSrc, '.jpg')+4) ?>" /> 

我已经尝试了本

 <meta name="twitter:image" value="<?php echo(str_replace("367.jpg", "150.jpg", $imageSrc)),substr($imageSrc, 0, strpos($imageSrc, '.jpg')+4)?>"/

结合,但它呈现这种

 <meta name="twitter:image" value="https://rlv.zcache.com/seal_of_success_blue_graduation_announcement-r6c3587ec36fd4246afd2add46333186a_6gdu5_150.jpg?rlvnet=1&amp;bg=0xFFFFFFhttps://rlv.zcache.com/seal_of_success_blue_graduation_announcement-r6c3587ec36fd4246afd2add46333186a_6gdu5_367.jpg"/

而我想它只返回一个网址

https://rlv.zcache.com/seal_of_success_blue_graduation_announcement-r6c3587ec36fd4246afd2add46333186a_6gdu5_150.jpg 

是取代367.j​​pg到150.jpg和去除一切after.jpg rlvnet = 1 & BG = 0XFFFFFF

回答

2

调用一个函数内的另一个,它会工作:

<meta name="twitter:image" value="<?= 
    str_replace(
     "367.jpg", 
     "150.jpg", 
     substr($imageSrc, 0, strpos($imageSrc, '.jpg')+4) 
    ) 
?>" /> 

还是做一步一步保存到变量:

# remove tail 
$imageSrc = substr($imageSrc, 0, strpos($imageSrc, '.jpg')+4); 
# replace size 
$imageSrc = str_replace("367.jpg", "150.jpg", $imageSrc) 

<meta name="twitter:image" value="<?= $imageSrc ?>" /> 
+0

这一个作品!非常感谢! – KeenLearner

+0

好吧,如果我想添加“rlvnet = 1&view_padding = [285,0,285,0]”之后“?”而不是删除“?”后的所有内容 – KeenLearner

+1

@KeenLearner如果它是一个固定的文本,你可以在关闭'?>'之后添加它,比如'?>?rlvnet = .... 285,0]“'或者将它添加到你的字符串中。例如,在我的答案中写的第二个例子中,你可以添加另一行'$ imgSrc。='?rlvnet ... 0]'; – sidyll

4

好,尝试

例如,我要$imageSrc = "http://example.com/img_367.jpg?something"

需要明确的是,你要首先后的删除一切,一个然后用150代替367那么试试这个:

<?= str_replace("367", "150", strstr($imageSrc, "?", true)) ?> 
+0

这有代码错误 编码后在php代码验证器.. 它应该是这个 它也在工作! :) – KeenLearner

+1

绝对,我的不好,道歉。 –

1

请尝试这个

<?php echo str_replace('_367.jpg','_150.jpg',current(explode("?",$imageSrc))); ?>