PHP 正则表达式替换的宽度值(有条件)
我知道以前有关于用 PHP 替换宽度值的问题,而这并不是我的问题所在。$contentWidth = 'width="600"';
$screenContent = get_the_content();
$screenContent = preg_replace("/width=\"(.*?)\"/is", $contentWidth, $screenContent);
echo $screenContent;
这就是我到目前为止所拥有的,并且工作正常。但我想添加一个条件,仅在宽度超过 600 时进行更改;只是为了确保我不会扭曲图像质量。
您可以使用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),因为您的贪婪匹配器 (.*?) 允许字符和数字。