我知道之前有关于用PHP替换宽度值的问题,而且这不是我的问题所在。
$contentWidth = 'width="600"';
$screenContent = get_the_content();
$screenContent = preg_replace("/width=\"(.*?)\"/is", $contentWidth, $screenContent);
echo $screenContent;
这就是我到目前为止所做的工作。但我想添加一个条件,只在宽度超过600时进行更改;只是为了确保我不会扭曲图像质量。
有没有办法将宽度分配给变量?
答案 0 :(得分:1)
您可以使用preg_match获取您感兴趣的$ screenContent部分:
$screenContent = get_the_content();
if(preg_match("/width=\"(.*?)\"/is", $contentWidth, $match)) {
// width is stored in $match[1] (the matching portion is in $match[0])
if(is_numeric($match[1]) && $match[1] > 600)
$screenContent = preg_replace("/width=\"(.*?)\"/is", $contentWidth, $screenContent);
}
echo $screenContent;
确保检查有效宽度(上面的is_numeric),因为贪婪的匹配器(。*?)允许使用字符和数字。