Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: подсветка PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kuller
Отправлено: 08 Декабря, 2009 - 16:12:22
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




помогите написать подсветку PHP кода. проблема в том что когда япишу highlight_string()
функция teg
PHP:
скопировать код в буфер обмена
  1.  
  2. function teg()
  3. {
  4. $text = preg_replace('#\[br\](.*?)#si','<br>\1', $text););
  5. $text = preg_replace('#\[p\](.*?)\[/p\]#si','<p>\1</p>', $text);
  6. $text = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $text);
  7. $text = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $text);
  8. $text = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $text);
  9. return $text;
  10. }
  11.  

перестаёт работать.
полностью код страница имеет такой вид
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. define('_INC', 1);
  4. require "inc/db.php";
  5. require "inc/function.php";
  6. if(isset($_GET['id']))
  7. {
  8. $id = $_GET['id'];     
  9. }
  10. if(!preg_match("|^[\d]+$|", $id))
  11. {
  12. exit("<p>Неверный формат запроса! Проверьте URL</p>");
  13. }
  14. $result = mysql_query("SELECT * FROM uroki WHERE id='$id'", $db);
  15. if(!$result)
  16. {
  17. echo "<p>Ошибка!!!</p><p>Напишите администратору о данной ошибке. $email</p>"; 
  18. }
  19. if(mysql_num_rows($result) > 0)
  20. {
  21. $myrow = mysql_fetch_array($result);
  22. $new_view = $myrow["view"] + 1;
  23. $update = mysql_query("UPDATE uroki SET view='$new_view' WHERE id='$id'",$db);
  24. }else{
  25. echo "<p>Информация не может быть выведена!!!</p>";
  26. exit();
  27. }
  28. if($myrow[id] != $id)
  29. {
  30. header("Location: index.php");
  31. }else{
  32. require "blocks/header.php";
  33. require "blocks/tdleft.php";
  34. ?>
  35. <td width="79%" valign="top" class="border_big_td">
  36. <div class="bor"><p><a href="/index.php" class="link">Главная</a> » <a href="/lesson.php" class="link">Статьи</a></p></div>
  37. <div class="bord"><p>
  38. <?
  39. echo "<p>".teg(htmlspecialchars($myrow['text']))."</p>";
  40. ?>
  41. </p><div class="lesson"><p>Автор урока:
  42. <? echo htmlspecialchars($myrow['author']); ?>
  43. <br />Добавлено:
  44. <? echo htmlspecialchars($myrow['date']); ?>
  45. </p><p><a href="#" class="link" OnClick="printThisPage()">Распечатать страницу</a></p></div></div>
  46. <?
  47. $com = mysql_query("SELECT * FROM comments WHERE post='$id'");
  48. if(mysql_num_rows($com) > 0)
  49. {
  50. $murow = mysql_fetch_array($com);
  51. echo "<div class='comm'><p>Комментарии:</p></div>";
  52. do
  53. {
  54. $tt = parseubb(smiles($murow['text']));
  55. printf("<table class='comm_msg'>
  56.         <tr><td>
  57.                  <p class='lesson_name'>Автор: %s<span class='lesson_adds'>(%s)</span></p>
  58.         <p class='lesson_name'><br />%s</p>
  59.                  </td></tr>
  60.         </table>", $murow["author"],$murow["date"],$tt);
  61. }
  62. while($murow = mysql_fetch_array($com));
  63. }
  64. ?>
  65. <div class="comm"><p>Добавить комментарий:</p></div>
  66. <form name='inputform' action="comment.php" method="post">
  67. <p>Ваше имя: <input name="author" type="text" size="30" class="inputt" /></p>
  68. <? echo "<p>Комментарий:<br /><textarea id='comment_message' name='comment_message' cols='30' rows='4' class='inputt'></textarea></p>
  69. <p><input type='button' value='b' class='button' style='font-weight:bold;width:25px;' onClick=\"addText('comment_message', '[b]', '[/b]');\">
  70. <input type='button' value='i' class='button' style='font-style:italic;width:25px;' onClick=\"addText('comment_message', '[i]', '[/i]');\">
  71. <input type='button' value='u' class='button' style='text-decoration:underline;width:25px;' onClick=\"addText('comment_message', '[u]', '[/u]');\">
  72. <input type='button' value='url' class='button' style='width:30px;' onClick=\"addText('comment_message', '[url]', '[/url]');\">
  73. <input type='button' value='mail' class='button' style='width:35px;' onClick=\"addText('comment_message', '[mail]', '[/mail]');\">
  74. <input type='button' value='img' class='button' style='width:30px;' onClick=\"addText('comment_message', '[img]', '[/img]');\">
  75. <input type='button' value='center' class='button' style='width:45px;' onClick=\"addText('comment_message', '[center]', '[/center]');\">
  76. <input type='button' value='small' class='button' style='width:40px;' onClick=\"addText('comment_message', '[small]', '[/small]');\">
  77. <input type='button' value='code' class='button' style='width:40px;' onClick=\"addText('comment_message', '
    ');\">
  • <input type='button' value='quote' class='button' style='width:45px;' onClick=\"addText('comment_message', '[quote]', '[/quote]');\">
  • </p><p>".smileis("comment_message")."</p>";
  • ?>
  • <p>Введите сумму:<?
  • kapcha();
  • ?>
  • <input type="text" name="pr" size="5" class="inputt" /></p>
  • <p><input type="hidden" name="id" value="<? echo $id; ?>" /></p>
  • <p><input name="subm" type="submit" value="Комментировать" class="subm" /></p>
  • </form>
  • </td>
  •         </tr>
  •     </table></td>
  • <?PHP
  • }
  • require "blocks/footer.php";
  • ?>
  •  

  • так же хотел бы узнать от чего данную страницу ещё можно защитить.
    я только учусь.

    (Отредактировано автором: 08 Декабря, 2009 - 22:16:11)

     
     Top
    Мелкий Супермодератор
    Отправлено: 08 Декабря, 2009 - 16:35:08
    Post Id



    Активный участник


    Покинул форум
    Сообщений всего: 11926
    Дата рег-ции: Июль 2009  
    Откуда: Россия, Санкт-Петербург


    Помог: 618 раз(а)




    Как highlight_string-то вызываете?


    -----
    PostgreSQL DBA
     
     Top
    kuller
    Отправлено: 08 Декабря, 2009 - 18:06:44
    Post Id



    Частый посетитель


    Покинул форум
    Сообщений всего: 561
    Дата рег-ции: Нояб. 2009  


    Помог: 2 раз(а)




    Мелкий пишет:
    Как highlight_string-то вызываете?

    так
    echo "<p>".teg(htmlspecialchars(highlight_string($myrow["text"])))."</p>";
     
     Top
    Мелкий Супермодератор
    Отправлено: 08 Декабря, 2009 - 18:40:40
    Post Id



    Активный участник


    Покинул форум
    Сообщений всего: 11926
    Дата рег-ции: Июль 2009  
    Откуда: Россия, Санкт-Петербург


    Помог: 618 раз(а)




    Ну естественно не работает. highlight_string в этом случае возвращает true, а весь текст отсылает самостоятельно.
    echo "<p>".teg(htmlspecialchars(highlight_string($myrow["text"]),true))."</p>";


    -----
    PostgreSQL DBA
     
     Top
    kuller
    Отправлено: 08 Декабря, 2009 - 18:46:35
    Post Id



    Частый посетитель


    Покинул форум
    Сообщений всего: 561
    Дата рег-ции: Нояб. 2009  


    Помог: 2 раз(а)




    Мелкий пишет:
    Ну естественно не работает. highlight_string в этом случае возвращает true, а весь текст отсылает самостоятельно.
    echo "<p>".teg(htmlspecialchars(highlight_string($myrow["text"]),true))."</p>";

    не работает. подсветки вобще нет, и функция teg снова перестала работать
     
     Top
    Мелкий Супермодератор
    Отправлено: 08 Декабря, 2009 - 19:26:21
    Post Id



    Активный участник


    Покинул форум
    Сообщений всего: 11926
    Дата рег-ции: Июль 2009  
    Откуда: Россия, Санкт-Петербург


    Помог: 618 раз(а)




    Ну а отладку?
    PHP:
    скопировать код в буфер обмена
    1.  
    2. echo "<p>Есть ли хоть что-нибудь:".$myrow["text"]."</p>";
    3. echo "<p>только подсветка:".highlight_string($myrow["text"],true)."</p>";
    4. echo "<p>без teg:".htmlspecialchars(highlight_string($myrow["text"],true))."</p>";
    5. echo "<p>Полностью:".teg(htmlspecialchars(highlight_string($myrow["text"],true)))."</p>";
    6.  


    И вообще параметр не той функции ушёл: echo "<p>".teg(htmlspecialchars(highlight_string($myrow["text"]),true))."</p>";
    Должно быть

    PS: тяжело без подсветки писать Улыбка


    -----
    PostgreSQL DBA
     
     Top
    kuller
    Отправлено: 08 Декабря, 2009 - 19:45:57
    Post Id



    Частый посетитель


    Покинул форум
    Сообщений всего: 561
    Дата рег-ции: Нояб. 2009  


    Помог: 2 раз(а)




    Мелкий пишет:
    Ну а отладку?
    PHP:
    скопировать код в буфер обмена
    1.  
    2. echo "<p>Есть ли хоть что-нибудь:".$myrow["text"]."</p>";
    3. echo "<p>только подсветка:".highlight_string($myrow["text"],true)."</p>";
    4. echo "<p>без teg:".htmlspecialchars(highlight_string($myrow["text"],true))."</p>";
    5. echo "<p>Полностью:".teg(htmlspecialchars(highlight_string($myrow["text"],true)))."</p>";
    6.  


    И вообще параметр не той функции ушёл: echo "<p>".teg(htmlspecialchars(highlight_string($myrow["text"]),true))."</p>";
    Должно быть

    PS: тяжело без подсветки писать Улыбка

    подсветка сработала, но собствено в чём был вопрос, что функция teg перестаёт работать, вот опять не работает.
    ещё один вопрос. Опасно ли хранить в БД символ < и > ? или всё же лучще записывать &lt;

    (Отредактировано автором: 08 Декабря, 2009 - 19:47:16)

     
     Top
    Мелкий Супермодератор
    Отправлено: 09 Декабря, 2009 - 14:05:53
    Post Id



    Активный участник


    Покинул форум
    Сообщений всего: 11926
    Дата рег-ции: Июль 2009  
    Откуда: Россия, Санкт-Петербург


    Помог: 618 раз(а)




    kuller пишет:
    подсветка сработала, но собствено в чём был вопрос, что функция teg перестаёт работать, вот опять не работает.

    Да, блин, извиняюсь, так же и вставил, как было Хм Вторым параметром true надо highlight_string передавать.
    teg(htmlspecialchars(highlight_string($myrow["text"],true)))

    kuller пишет:
    Опасно ли хранить в БД символ < и > ? или всё же лучще записывать &lt;

    безопасно. По крайней мере не боитесь же хранить текст, например drop?


    -----
    PostgreSQL DBA
     
     Top
    kuller
    Отправлено: 09 Декабря, 2009 - 18:00:20
    Post Id



    Частый посетитель


    Покинул форум
    Сообщений всего: 561
    Дата рег-ции: Нояб. 2009  


    Помог: 2 раз(а)




    Мелкий, сбасибо!!! сейчас работает, конешно появились ещё некоторые проблемы иза этого, но сейчас сам попробую сделать
     
     Top
    Страниц (1): [1]
    Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
    « Напишите за меня, пожалуйста »


    Все гости форума могут просматривать этот раздел.
    Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
    Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
     



    Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

     
    Powered by ExBB FM 1.0 RC1. InvisionExBB