PHP - 替换一组特定字符,然后替换后面的3个字符

时间:2014-01-21 20:55:25

标签: php string image wordpress

我正在将WordPress中的特色图像Metabox从Side移动到Normal位置。它现在占用的屏幕比默认情况下要宽得多。放置在该元数据箱中的图像虽然固定在一定的高度和宽度。我正在尝试删除硬编码的高度和宽度。我有一个字符串:

<img src="http://www.IMAGEFOLDERURL/imageone-300x225.jpg">

我需要删除-300x225。但是,225对于每个图像都是不同的。所以我需要删除“-300x ***”。 * =任何东西。这可能与PHP有关吗?

编辑:我不确定我是否清楚。 IMAGEFOLDERURL是填充物,因为网站可以是任何东西。另外,我忘了提到图片网址是一个更大的字符串的一部分。所以在:

之后
<img src="http://www.IMAGEFOLDERURL/imageone-300x225.jpg">

会有更多。整个字符串将类似于:

Variable length content here<img src="http://www.IMAGEFOLDERURL/imageone-300x225.jpg">Variable length content  after.

2 个答案:

答案 0 :(得分:2)

是什么正则表达式

$string = '<img src="http://www.IMAGEFOLDERURL/imageone-300x225.jpg">';
$pattern = '/-300x[0-9]+/i';
$replacement = '';
echo preg_replace($pattern, $replacement, $string);

这取代了&#39; -300x [数字]&#39;什么都没有

答案 1 :(得分:1)

或多或少与上述相同,只是采用不同的方式。

如果它总是固定数量的字符(“-300x225.jpg”= 12)那么你可以使用substr_我想。

例如

$linkurl = 'http://www.IMAGEFOLDERURL/imageone-300x225.jpg';
$noextension = substr( $linkurl, 0, -12); // Removing the '-300x225.jpg'
$newlinkurl = $noextension . '.jpg'; // Adding .jpg
echo $newlinkurl;

只需确保扩展程序始终相同且字符数始终相同即可。

http://phpfiddle.org/main/code/feg-77r