0

すべてのヘッダーをリンクのリストに変換する php 関数を作成しようとしています。私の現在のアプローチは、 preg_replace でこれを行っています

    $txt = preg_replace("#\[h1\](.+?)\[/h1\]#is", "<h2 style='display:inline;'>\\1</h3>", $txt);
$txt = preg_replace("#\[h2\](.+?)\[/h2\]#is", "<h3 style='display:inline; '>\\1</h4>", $txt);

だから私はそれらの2つを手に入れましたが、残りを消すことはできないようです. (この後にすべてを削除するものを追加すると、すべてが失われるためです。)タグを省略して残りを「」に変える正規表現はありますか?

これが私にとって最も論理的と思われる方法ですが、もっと簡単な方法があれば、提案をお待ちしています。

body.html で、新しく作成した html ファイルからコードを取得します。

$body = file_get_contents('body.html');
$text = replace_bb_code($body);
4

1 に答える 1

1

あまり明確ではありませんが、これを試してみてください:

$txt = preg_replace("#\[h2\](.+?)\[/h2\](.+?(?=\[h1\]|\[h2\])|.+$)#is", "<h2 style='display:inline;'>\\1</h2>", $txt);
$txt = preg_replace("#\[h1\](.+?)\[/h1\](.+?(?=\[h1\]|<h2)|.+$)#is", "<h1 style='display:inline;'>\\1</h1>", $txt);

今回はいかがでしょうか:DI 3回目は嘘をつきません:D

于 2013-10-03T08:37:00.763 に答える