cvs: phpweb /include layout.inc
| From: | Gabor Hojtsy | Date: | Thu, 21 Aug 2003 13:16:34 +0000 |
| Subject: | cvs: phpweb /include layout.inc | ||
| Groups: | php.mirrors | ||
| Request: | Send a blank email to php-mirrors+get-20527@lists.php.net to get a copy of this message | ||
goba Thu Aug 21 09:16:34 2003 EDT
Modified files:
/phpweb/include layout.inc
Log:
Apply patch sent by Cece:
- use highlight_php() to highlight notes, so PHP code will
be color coded in user note text
- better URL recognition, and open stuff in new window
- drop code converting strings back and forth, and fixing old
formatting stuff
Index: phpweb/include/layout.inc
diff -u phpweb/include/layout.inc:1.187 phpweb/include/layout.inc:1.188
--- phpweb/include/layout.inc:1.187 Sat Aug 16 09:38:56 2003
+++ phpweb/include/layout.inc Thu Aug 21 09:16:34 2003
@@ -1,5 +1,5 @@
<?php
-/* $Id: layout.inc,v 1.187 2003/08/16 13:38:56 goba Exp $ */
+/* $Id: layout.inc,v 1.188 2003/08/21 13:16:34 goba Exp $ */
// Set the static content root differently on php.net
$_SERVER['STATIC_ROOT'] = ($MYSITE == 'http://www.php.net/') ?
@@ -560,40 +560,19 @@
return htmlspecialchars(get_magic_quotes_gpc() ? stripslashes($var) : $var);
}
-function clean_note($text) {
- $text = htmlspecialchars(trim($text));
-
- /* turn urls into links */
- $text =
preg_replace("/((mailto|http|ftp|nntp|news):.+?)(>|\\s|\\)|\"|\\.\\s|$)/","<a
href=\"\\1\">\\1</a>\\3",$text);
+// Clean out the content of one user note for printing to HTML
+function clean_note($text)
+{
+ // Highlight PHP source
+ $text = highlight_php(trim($text), TRUE);
- /* this 'fixing' code will go away eventually. */
- $fixes = array('<br>', '<p>', '</p>');
- reset($fixes);
- while (list(,$f)=each($fixes)) {
- $text=str_replace(htmlspecialchars($f), $f, $text);
- $text=str_replace(htmlspecialchars(strtoupper($f)), $f, $text);
- }
-
- /* <p> tags make things look awfully weird (breaks things out of the <code>
- tag). Just convert them to <br>'s
- */
- $text = str_replace (array ('<P>', '<p>'),
'<br>', $text);
-
- /* Remove </p> tags to prevent it from showing up in the note */
- $text = str_replace (array ('</P>', '</p>'), '',
$text);
-
- /* preserve linebreaks */
- $text = str_replace("\n", "<br>", $text);
-
- /* this will only break long lines */
- if (function_exists("wordwrap")) {
- $text = wordwrap($text);
- }
+ // Turn urls into links
+ $text = preg_replace(
+ '!((mailto:|(http|ftp|nntp|news):\/\/).*?)(\s|<|\)|"|\\|\'|$)!',
+ '<a href="\1" target="_blank">\1</a>\4',
+ $text
+ );
- // Preserve spacing of user notes
- $text = str_replace(" ", " ", $text);
-
- $text = "<code class=\"note\">".$text."</code>";
return $text;
}