-1
preg_replace
を使用してショートコードを作成しています。Preg_replace with brackets [] inside
$content = preg_replace(
'%\[social-lock]([^[]*)\[/social-lock]%',
$html_str_1. '\1' . $html_str_2 . '<br/>' . $html_js,
$content
);
echo $content;
私はHTMLコンテンツにこのショートを適用すると、我々はブラウザにその
Below content will be hidden.
[social-lock]
Code Vip: Write something here.
[/social-lock].
のようなものの出力を持つことになりますが表示されます:
Below content will be hidden.
<div class="lock" style="display:none">
Code Vip: Write something here.
</div>
しかし、私は内部のブラケットを追加した場合HTMLコンテンツ(ソーシャルロック間)は、次のようになります。
Below content will be hidden.
[social-lock]
Code Vip: Write something here. [show the brackets here]
and it will not be hidden.
[/social-lock].
[social-lock] - [/ social-lock]のコンテンツは非表示にする必要がありますが、そうではありません。私は、ショートコードの内容の中に大括弧[]があると思う。 しかし、私は解決策を見つけることができません。
また、私のコードは '[social-lock]'を置き換え、内部の内容を新しいdivに入れます。私は '(。*?)'を試みたが、運はなかった。 –
@AluminumGates私が言ったように、あなたはまた、フラグ 's'を設定する必要があります:https://regex101.com/r/zR1rC5/1 – Rizier123
あなたは私の命を救った!私は/ sを忘れました。ありがとう! –