Guest User

Untitled

a guest
May 22nd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. `The article for M. {{user.lastname}} is {{user.article.title}}`.
  2.  
  3. `The article for M. Doe is MyAmazingArticle`
  4.  
  5. public function preview( $user)
  6. {
  7. return preg_replace_callback('~{{(.*?)}}~', //Get everything inside double brackets
  8. function( $key ) use ( $user ) //Use anonymous function to pass additionals variables
  9. {
  10.  
  11. $parts = explode('.' , $key[1]); //Create array
  12.  
  13. switch ( count($parts) )
  14. {
  15. case '2': $data = ${$parts[0]}->{$parts[1]} ?? 'NULL'; break;
  16.  
  17. case '3': $data = ${$parts[0]}->{$parts[1]}->{$parts[2]} ?? 'NULL'; break;
  18.  
  19. case '4': $data = ${$parts[0]}->{$parts[1]}->{$parts[2]}->{$parts[3]} ?? 'NULL'; break;
  20.  
  21. case '5': $data = ${$parts[0]}->{$parts[1]}->{$parts[2]}->{$parts[3]}->{$parts[4]} ?? 'NULL'; break;
  22.  
  23. default: $data = 'NULL'; break;
  24. }
  25.  
  26. return $data;
  27. },
  28. htmlspecialchars_decode( $this->html) );
  29. }
Add Comment
Please, Sign In to add comment