如何在img src标签中删除变量?

时间:2013-05-06 03:25:06

标签: php

我有一个示例代码:

$filename = 'http://thebox.vn/Uploaded/catmy/2013_04_23/couple_t2.jpg?maxwidth=480';

我使用此代码删除变量(maxwidth)

echo preg_replace('/(\?)$/', '', $filename)

=>如何删除变量(maxwidth),如何解决?

4 个答案:

答案 0 :(得分:1)

如果你想摆脱查询,就这样做:

$filename = 'http://thebox.vn/Uploaded/catmy/2013_04_23/couple_t2.jpg?maxwidth=480';
$parts = explode("?",$filename);
$filename = $parts[0];

答案 1 :(得分:0)

你可以这样做:

$filename = "http://thebox.vn/Uploaded/catmy/2013_04_23/couple_t2.jpg?maxwidth=480";
$filename = array_shift(explode('?', $filename));
echo $filename;

答案 2 :(得分:0)

你可以试试这个

$filename = 'http://thebox.vn/Uploaded/catmy/2013_04_23/couple_t2.jpg?maxwidth=480';
echo preg_replace("/\?[a-z]+=\d+/", '', $filename);

DEMO.

答案 3 :(得分:0)

您当前的正则表达式说:如果最后一个字符是问号字符,请用空字符串替换$filename的最后一个字符。

这是一个固定的正则表达式,适用于您的特定示例:/\?maxwidth=.*$/

还有许多其他表达可以在各种情况下完成工作。但是,也许最好使用PHP的parse_url()函数将URL拆分为各个部分,然后丢弃您不关心的部分并合并回字符串。例如:

$filename = 'http://thebox.vn/Uploaded/catmy/2013_04_23/couple_t2.jpg?maxwidth=480';

// Parse the filename into parts.
$filename_parsed = parse_url( $filename );

// Merge the parsed filename back into a string,
// discarding any irrelevant parts.
$filename_merged = $filename_parsed[ 'scheme' ] . '://' . $filename_parsed[ 'host' ] . $filename_parsed[ 'path' ];

// Prints: http://thebox.vn/Uploaded/catmy/2013_04_23/couple_t2.jpg
echo $filename_merged;