これはこれまでのものですが、私が試してみるとalbum-content
はsubstr()
で切り捨てられません。preg_replace()関数内でsubstr()関数を使用するにはどうすればよいですか?
$gallery = preg_replace('/(<div class="album-content">)(.*?)(<\/div>)/e', "'$1' . substr(\"$2\", 0, 50) . '$3'", $gallery);
UPDATE:
は私のクラス名が誤っていたが判明し、私の正規表現が動作するようには思えません。 私は出力をエスケープするために別の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>
ありがとう!
コンテンツの前後に投稿してください。あなたのやりたいことのより良いアイデアがあります。 –
置換文字列の一部として 'substr()'を使うことはできません。 – Tchoupi
@MathieuImbertそれは今でも動作するようです。私の更新を参照してください。 – fishbaitfood