| Revision 18234,
1.1 KB
checked in by Seasoft, 17 years ago
(diff) |
|
#528(改行コードが混在している)
- SVN属性の変更。ただし、以下は除外。
- /data/module
- /data/pdf
- /html/test
|
-
Property svn:eol-style set to
LF
-
Property svn:mime-type set to
text/x-httpd-php; charset=UTF-8
|
| Line | |
|---|
| 1 | <?php |
|---|
| 2 | /** |
|---|
| 3 | * Smarty plugin |
|---|
| 4 | * @package Smarty |
|---|
| 5 | * @subpackage plugins |
|---|
| 6 | */ |
|---|
| 7 | |
|---|
| 8 | |
|---|
| 9 | /** |
|---|
| 10 | * Smarty plugin |
|---|
| 11 | * |
|---|
| 12 | * Type: modifier<br> |
|---|
| 13 | * Name: nl2br_html<br> |
|---|
| 14 | * Date: Sep 20, 2008 |
|---|
| 15 | * Purpose: convert \r\n, \r or \n to <<br />>. However, the HTML tag is considered. |
|---|
| 16 | * Example: {$text|nl2br_html} |
|---|
| 17 | * @author Seasoft 塚田将久 |
|---|
| 18 | * @param string |
|---|
| 19 | * @return string |
|---|
| 20 | */ |
|---|
| 21 | function smarty_modifier_nl2br_html($string) { |
|---|
| 22 | $lines = preg_split('/(\\r\\n|\\r|\\n)/', $string); |
|---|
| 23 | $keys = array_keys($lines); |
|---|
| 24 | $last_key = end($keys); // 最終行のキー |
|---|
| 25 | foreach ($keys as $key) { |
|---|
| 26 | if ($key == $last_key) continue; // 最終行はスキップ |
|---|
| 27 | $line =& $lines[$key]; |
|---|
| 28 | if ( |
|---|
| 29 | !preg_match('/<\/(address|blockquote|caption|center|col|colgroup|dd|del|dir|div|dl|dt|fieldset|form|frame|frameset|h[1-6]|hr|ins|isindex|legend|li|menu|noframes|noscript|ol|optgroup|option|p|pre|table|tbody|td|tfoot|th|thead|tr|ul)>$/i', $line) |
|---|
| 30 | && !preg_match('/<[a-z0-9]+\s*[^<]*\/?>$/i', $line) |
|---|
| 31 | ) { |
|---|
| 32 | $line .= '<br />'; |
|---|
| 33 | } |
|---|
| 34 | $line .= "\n"; |
|---|
| 35 | } |
|---|
| 36 | unset($line); |
|---|
| 37 | |
|---|
| 38 | return implode('', $lines); |
|---|
| 39 | } |
|---|
| 40 | |
|---|
| 41 | ?> |
|---|
Note: See
TracBrowser
for help on using the repository browser.