Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. <?php
  2. namespace Common\ContentBundle\DataTransformer;
  3.  
  4. use Symfony\Component\Form\DataTransformerInterface;
  5.  
  6. /**
  7. * Class MarkdownTransformer
  8. * @package Common\ContentBundle\DataTransformer
  9. */
  10. class MarkdownTransformer implements DataTransformerInterface
  11. {
  12.  
  13. /**
  14. * Transforms the HTML string back to markdown.
  15. *
  16. * @param string $val
  17. * @return string
  18. */
  19. public function transform($val)
  20. {
  21. // strong to double asterisks:
  22. $val = preg_replace("/\<strong\>(.+?)\<\/strong\>/i", "**$1**", $val);
  23.  
  24. // italic to double underscores:
  25. $val = preg_replace("/\<em\>(.+?)\<\/em\>/i", "__$1__", $val);
  26.  
  27. return $val;
  28. }
  29.  
  30. /**
  31. * Transforms the markdown string to html.
  32.  
  33. * @param string $val
  34. * @return string
  35. */
  36. public function reverseTransform($val)
  37. {
  38. // double asterisks to strong:
  39. $val = preg_replace("/\*\*(.+?)\*\*/i", "<strong>$1</strong>", $val);
  40.  
  41. // double underscores to italic:
  42. $val = preg_replace("/\_\_(.+?)\_\_/i", "<em>$1</em>", $val);
  43.  
  44. return $val;
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement