これは私がこれまでに持っているものですが、私が何をしようとしても、私album-content
はで切り捨てられませんsubstr()
。
$gallery = preg_replace('/(<div class="album-content">)(.*?)(<\/div>)/e', "'$1' . substr(\"$2\", 0, 50) . '$3'", $gallery);
アップデート:
私のクラス名が間違っていたことが判明し、私の正規表現は機能しているようです。出力をエスケープ解除するには、別のstr_replace()を実行するだけで済みました。
$gallery = preg_replace('/(<div class="album-desc">)(.*?)(<\/div>)/e', "'$1' . substr(\"$2\", 0, 50) . '$3'", $gallery);
$gallery = str_replace('\"album-desc\"', '"album-desc"', $gallery);
変更前の出力:
<a href="..." class="album">
<div class="album-content"><p class="album-title">Album 1</p>
<div class="album-desc"><p>This will be truncated by substr().</p></div>
</div>
<img src="..." />
</a>
とにかく、みんなありがとう!