如何在php echo语法中删除url的某些部分 这个链接
<meta name="twitter:image" value="<?php echo(str_replace("367.jpg", "150.jpg", $imageSrc)) ?>" />
此代码
<meta name="twitter:image"
value="https://rlv.zcache.com/retro_blocks_maroon_white_graduation_announcement-r86c000be19e542fa8a3430823ddc7146_6gdu5_150.jpg?rlvnet=1&bg=0xFFFFFF" />
正在呈现此
&
&amp; 正在编码为
<meta name="twitter:image" value="<?php echo (substr($string, 0, -25, $imageSrc)) ?>" />
任何想法如何解码这部分,所以它只是一个&amp; 。也完全删除.jpg后的所有内容
只是一个初学者,所以这就是我试过的
# Send non-www to www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Send test.mysite.com to https
RewriteCond %{HTTPS} off
#RewriteCond %{HTTP_HOST} ^(.+)\.test\.mysite\.com$ [NC]
RewriteCond %{HTTP_HOST} ^www\.test\.mysite\.com$ [NC]
RewriteRule ^ https://www.test.mysite.com%{REQUEST_URI} [L,R=301]
不工作 请帮忙 亲切的问候 玛利亚
答案 0 :(得分:2)
您的初始echo
和str_replace
未编码&
。它是
已编码在$imgSrc
变量中。你可以用它来操纵它
urldecode
和urlencode
功能,但我不这么认为
这是必要的,因为您要删除.jpg
之后的内容
反正。
substr
方法是正确的,但您滥用了该功能。该
第一个参数是要操作的字符串。你把它传递给了它。
实际上没有争论。
此外,<?php echo ... ?>
可以缩减为<?= .. ?>
。所以这会
工作:
<meta ... value="<?= substr($imageSrc, 0, -25) ?>" />
如果您事先并未知道.jpg
的位置,则可以进行搜索
并使用结果位置作为substr
的长度,加上偏移量
这针长度本身:
<meta ... value="<?= substr($imageSrc, 0, strpos($imageSrc, '.jpg')+4) ?>" />
答案 1 :(得分:0)
使用PHP函数parse_url()
将输入URL拆分为组件:
$pieces = parse_url("https://rlv.zcache.com/retro_blocks_maroon_white_graduation_announcement-r86c000be19e542fa8a3430823ddc7146_6gdu5_150.jpg?rlvnet=1&bg=0xFFFFFF");
print_r($pieces);
结果如下:
Array
(
[scheme] => https
[host] => rlv.zcache.com
[path] => /retro_blocks_maroon_white_graduation_announcement-r86c000be19e542fa8a3430823ddc7146_6gdu5_150.jpg
[query] => rlvnet=1&bg=0xFFFFFF
)
从返回的数组中选择所需的组件,修改它们并组成新的URL。要修改路径,您可以使用substr()
(或其他string functions),preg_replace()
或pathinfo()
。
例如:
// Use regexp to make sure the string is replaced only at the end of the path
$path = preg_replace('/367\.jpg$/', '150.jpg', $pieces['path']);
然后将你需要的部分拼凑起来:
$url = $pieces['scheme'].'://'.$pieces['host'];
if ($pieces['port']) {
$url .= ':'.$pieces['port'];
}
$url .= $path;