|
|
|
|
|
для: kasmanaft
(04.12.2007 в 12:06)
| | если пропадут идеи, то можно посмотреть на уже готовый скрипт для проверки синтаксиса :)
http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi | |
|
|
|
|
|
|
|
для: lirik
(04.12.2007 в 12:00)
| | вопрос мой проистекал из ваших ответов и вопросов на Код предложенный вам как решение... | |
|
|
|
|
|
|
|
для: lirik
(04.12.2007 в 12:00)
| | Так чем Вам тогда полный пример kasmanaft`а не нравится?
<?php
$text = 'юсер пишет например вот такое сообщение
<code>
<?php
// тут php код
$a = strpos($m, "<code>");
$b = strpos($m, "</code>");
?>
</code>
вопрос : как подсветить код';
echo preg_replace("#<code>((?:<code>.*?</code>|.)*?)</code>#ise", "highlight_string(stripslashes('\\1'), 1)", $text);
?>
|
| |
|
|
|
|
|
|
|
для: lirik
(04.12.2007 в 10:46)
| | >насколько я понял это вырожение предотврощает ошибку при использовании <code></code> , а если между тегами будет один такой тег то всё заглючит ещё больше чем сначала , или нет ???
Нет, хуже не будет (уже некуда :) ). Вы попробуйте, чего гадать.
В конце концов нажмет ваш пользователь на кнопочку "редактировать" и отредактирует как надо.
Попробуйте так:
echo preg_replace("|<code>(.*?)</code>|ise", "highlight_string(stripslashes('\\1'), 1)", $text);
и так:
echo preg_replace("#<code>((?:<code>.*?</code>|.)*?)</code>#ise", "highlight_string(stripslashes('\\1'), 1)", $text);
Поэксперементируйте, выберите, что лучше.. | |
|
|
|
|
|
|
|
для: KPETuH
(04.12.2007 в 10:51)
| | >ответь те пожалуйста в чем смысл делать вот так пользователю:
>
>[kode]
>...............
>[kode]
>чегото есче.....
>[/kode]
>.................
>[/kode]
по мойму вопрос не умесный , и с чево вы взяли этот код ? , в своём вопросе я для примера привёл код
ОБЫЧНЫЙ ТЕКСТ который не надо подсвечивать
<code>
...тут пхп код...
$a=strpos($m,"<code>");
$b=strpos($m,"</code>");
...тут пхп код...
</code>
ОБЫЧНЫЙ ТЕКСТ
или вы это тоже считаете ошибкой пользователя ??? | |
|
|
|
|
|
|
|
для: lirik
(04.12.2007 в 10:46)
| | ответь те пожалуйста в чем смысл делать вот так пользователю:
[kode]
...............
[kode]
чегото есче.....
[/kode]
.................
[/kode]
помоему просто тупо удалять все включения тегов [kode] и [/kode] в тексте между двумя крайними тегами... так как скорее всего это будет ошибка пользователя... | |
|
|
|
|
|
|
|
для: kasmanaft
(04.12.2007 в 10:09)
| | >>Попробуйте вот такое выражение: "#<code>((?:<code>.*?</code>|.)*?)</code>#ise"
Извените , я уже говорил что не силен в них , но насколько я понял это вырожение
предотврощает ошибку при использовании <code></code> , а если между тегами будет один такой тег то всё заглючит ещё больше чем сначала , или нет ??? | |
|
|
|
|
|
|
|
для: kasmanaft
(04.12.2007 в 10:24)
| | >>Тогда зачем вы эти теги вводите?
чтобы поместить код в рамку и использовать другой шрифт , а также если если пользователь спросит чтото конкретно про этот тег например :
<пример>А что если в теге <?php не писать php ? </пример>
тут теги не закрыты , и весь остальной текст будет разноцветным ? | |
|
|
|
|
|
|
|
для: lirik
(04.12.2007 в 10:19)
| | >> но насколько я знаю функция highlight_string считает пхп кодом тот текст который заключон в <?php ?> или <? ?>
Да, верно. Тогда зачем вы эти теги вводите?
>> это рег.вырожение ? , я не силён в них , вы не могли бы написать приблезительный код
Просто замените рег. выражение из кода, что я приводил наверху на это. | |
|
|
|
|
|
|
|
для: kasmanaft
(04.12.2007 в 10:09)
| | >Вообще-то, по сути, вы эти теги вводите как для того, чтобы отделить простой текст от php кода. То, что находится между <code> и </code> - это php код. А не то, что между <?php и ?> !
поправте меня если я неправ , но насколько я знаю функция highlight_string считает пхп кодом тот текст который заключон в <?php ?> или <? ?> , а всё остальное хтмл кодом ?!
пример:
echo phpinfo();
<?php
echo phpinfo();
?>
|
// <!--теги не используются-->
echo phpinfo();
|
>Попробуйте вот такое выражение: "#<code>((?:<code>.*?</code>|.)*?)</code>#ise"
это рег.вырожение ? , я не силён в них , вы не могли бы написать приблезительный код | |
|
|
|
|