Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $re = '/(?<VAR>\$\w+)(?::(?<PAD>\d+)(?:\.(?<DEC>\d+)|)|#(?<DATE>[^\s]+))/m';
- $str = 'My name $name
- $name:10 $date#Y-m-d_H:i:s $num:10.2
- qua
- $date#Y-m-d asdasd $num:5.0 qwe $var:5
- qualquer texto no meio';
- echo preg_replace_callback($re, function($m) {
- $out = '';
- $var = $m['VAR'];
- if(isset($m['DATE']))
- $var =
- "date(".
- "'".str_replace('_', ' ', $m['DATE'])."', ".
- "strtotime($var)".
- ")";
- elseif(isset($m['DEC']))
- $var =
- "substr(".
- "str_pad(".
- "number_format(".
- "$var,".
- "{$m['DEC']},".
- "',',".
- "'.'".
- "),".
- "{$m['PAD']},".
- "' ',".
- "STR_PAD_RIGHT".
- ")".
- ")";
- elseif(isset($m['PAD']))
- $var = "substr(str_pad($var, {$m['PAD']}, ' '))";
- return "<?= $var ?>";
- }, $str);
- // Print the entire match result
Advertisement
Add Comment
Please, Sign In to add comment