0
私は文字列に早く追加される変数を持っていますが、条件が満たされていれば空文字列に置き換える必要がありますコード内でオンになります)。例えば以下のテキストを文字列の末尾に ""と置き換えてください
:
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul role=\"menu\">\n";
私は今、空の文字列とここ$output
文字列に付加されます何交換する必要があります。これは他の場所で行われますが、$ indent変数にはまだアクセスできますので、追加された "\ t"がいくつあるか知っています。
だから、私はそうのようpreg_match
とpreg_replace
を使用してそれを行うことができます知っている:
if (preg_match("/\n$indent<ul role=\"menu\">\n$/", $output))
$output = preg_replace("/\n$indent<ul role=\"menu\">\n$/", "", $output);
else
$output .= "$indent</ul>\n";
しかし、私はここにパフォーマンスに疑問に思って、そしてこれを行うには良い方法があるかどうか?誰かが私の正確な$output
で改行とタブ文字を使用している例を提供できるなら、それは素晴らしいだろう。
'/ N '、'/T'、および/または '/ r'を使用しているときは良いと全て見えますが、どのように' strlen'出力が行われること? –
どちらの方法でも動作します。 'strlen( '\ n \ n')'は4です。 – BeetleJuice
ありがとう、素晴らしい作品! –