Manuel PHP

bbcode_set_arg_parser

(No version information available, might be only in CVS)

bbcode_set_arg_parser — Attach another parser in order to use another rule set for argument parsing

Description

bool bbcode_set_arg_parser ( resource $bbcode_container , resource $bbcode_arg_parser )

Attaches another parser to the bbcode_container. This parser is used only when arguments must be parsed. If this function is not used, the default argument parser is the parser itself.

Liste de paramètres

bbcode_container

BBCode_Container resource, returned by bbcode_create().

bbcode_arg_parser

BBCode_Container resource, returned by bbcode_create(). It will be used only for parsed arguments

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Exemples

Example#1 bbcode_set_arg_parser() usage example

  1. <?php
  2. /*
  3. * Generating bbcode ruleset for main parser
  4. */  
  5. $arrayBBCode=array(  
  6. 'quote'=> array('type'=>BBCODE_TYPE_ARG,  
  7. 'open_tag'=>'<quote><h4>Source: {PARAM}</h4>',  
  8. 'close_tag'=>'</quote>',  
  9. 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY|BBCODE_FLAGS_ARG_PARSING),  
  10. 'b'=> array('type'=>BBCODE_TYPE_NOARG,  
  11. 'open_tag'=>'<b>', 'close_tag'=>'</b>',  
  12. 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),  
  13. 'u'=> array('type'=>BBCODE_TYPE_NOARG,  
  14. 'open_tag'=>'<u>', 'close_tag'=>'</u>',  
  15. 'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),  
  16. 'i'=> array('type'=>BBCODE_TYPE_NOARG,  
  17. 'open_tag'=>'<i>', 'close_tag'=>'</i>',  
  18. 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),  
  19. );  
  20. /*
  21. * Generating bbcode ruleset for argument parser
  22. */  
  23. $arrayBBCode_arg=array(  
  24. 'b'=> array('type'=>BBCODE_TYPE_NOARG,  
  25. 'open_tag'=>'<b class="sub">', 'close_tag'=>'</b>',  
  26. 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),  
  27. 'u'=> array('type'=>BBCODE_TYPE_NOARG,  
  28. 'open_tag'=>'<u>', 'close_tag'=>'</u>',  
  29. 'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),  
  30. 'i'=> array('type'=>BBCODE_TYPE_NOARG,  
  31. 'open_tag'=>'<i>', 'close_tag'=>'</i>',  
  32. 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),  
  33. );  
  34. /*
  35. * Text we are going to parse
  36. */  
  37. $text=<<<EOF
  38. [quote="Test"]
  39. Foo :)
  40. [/quote]
  41. Bar example :) :)
  42. EOF;
  43. /*
  44. * Init the two parsers
  45. */
  46. $BBHandler=bbcode_create($arrayBBCode);
  47. $BBArgHandler=bbcode_create($arrayBBCode_arg);
  48. /*
  49. * Setting Flags on the parsers
  50. */
  51. bbcode_set_flags($BBHandler,
  52. BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
  53. BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
  54. bbcode_set_flags($BBArgHandler,
  55. BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
  56. BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
  57. /*
  58. * Setting$BBArgHandleras the BBHandler argument parser
  59. */
  60. bbcode_set_arg_parser($BBHandler,$BBArgHandler);
  61. /*
  62. * Adding Smileys handling rules to Main parser
  63. */
  64. bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
  65. /*
  66. * Use the main parser to parse text
  67. */
  68. echo bbcode_parse($BBHandler,$text);
  69. ?> 

L'exemple ci-dessus va afficher :

<quote><h4>Source: <b class="sub">Test</b></h4> Foo <img src="smiley.gif" alt=":)" /> </quote> <b>Bar example :)</b> <img src="smiley.gif" alt=":)" />

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog