0

私がしようとしているように、phpを使用してカスタムタグを作成することは可能ですか?

$str="[code] Code will goes here [/code]"
echo preg_replace("<div style='background-color:yellow;padding:5px'>$1</div>","/\[code\](.+)\[\/code\]/i",$str);

[code] がカスタムタグになります

4

3 に答える 3

0

あなたはとても近かった:

$str = "[code] Code will goes here [/code]";

//Pattern, Replacement, Original String

echo preg_replace(
    "/\[code\](.*?)\[\/code\]/",
    '<div style="background-color:yellow;padding:5px">$1</div>',
    $str
);
于 2012-04-24T11:44:48.150 に答える
0

はい、これは最終的に可能です。

あなたが実際に探しているのは、bbcodeパーサーですよね?

その場合は、以下を確認してください: StringParser_BBCode

于 2012-04-24T11:32:08.470 に答える
0

このコードを試してください:

$str = "[code] Code goes here, and it can safely contain <html> tags [/code]";
echo preg_replace_callback(
  '#\[code\](.+?)\[/code\]#i',
  function($matches) {
    return "<div style='background-color:yellow;padding:5px'>".htmlspecialchars(trim($matches[1]))."</div>";
  },
  $str
);

...または PHP < 5.3 の場合:

function bbcode_code_tag($matches) {
  return "<div style='background-color:yellow;padding:5px'>".htmlspecialchars(trim($matches[1]))."</div>";
}

$str = "[code] Code goes here, and it can safely contain <html> tags [/code]";
echo preg_replace_callback('#\[code\](.+?)\[/code\]#i', 'bbcode_code_tag', $str);
于 2012-04-24T11:39:26.210 に答える