1

以前に幅の値をPHPに置き換えることについて質問があったことは知っていますが、それは実際には私の問題ではありません。

$contentWidth = 'width="600"';

$screenContent = get_the_content();
$screenContent = preg_replace("/width=\"(.*?)\"/is", $contentWidth, $screenContent);
echo $screenContent; 

それは私がこれまで持っているものであり、うまく機能しています。ただし、幅が 600 を超える場合にのみ変更を加える条件を追加したいと思います。画質が歪まないようにするためです。

幅を変数に割り当てる方法はありますか?

4

1 に答える 1

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) を確認してください。

于 2013-04-25T17:41:24.880 に答える