| |
|
|
| | Есть необходимость выделить начало и конец конкретного слова в тексте. Пока что я не придумал ничего лучшего, кроме как писать до него и после несколько знаков, вероятность естественного появления которых в тексте чрезвычайно мала. Получается типа
Наступило ННННлетоКККК.
Ночи ННННлетомКККК коротки.
Однако хотелось бы сделать это более корректным образом. То есть разместить перед словом такой знак, который броузер бы не воспроизводил, но который впоследствии могла бы отыскать функция str_replace. Нужно два таких знака - до и после слова.
Есть в арсенале рнр что-нибудь подходящее? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(26.07.2007 в 10:11)
| | | php тут не при чем.
при хранении HTML можно <a mark=1>использовать</a> теги
при хранении plain text придется [marked]извращаться[/marked] с чем-то вроде bbcode, заменяя их при отображении функциями str_replace | |
| |
|
|
| |
|
|
| |
для: Trianon
(26.07.2007 в 10:21)
| | | К сожалению, это не сработало. И вот почему.
Суть задачи такова: я считываю информацию из текстового файла и ввожу информацию в форму, там правлю ее и сохраняю, записывая в тот же текстовой файл. Строка, которую я ввожу, имеет выделенное слово, отмеченное метками справа и слева. Сейчас я это делаю так:
Наступило ННННлетоКККК. (выделено лето).
В будущем НННН будет заменено на <a href="index.html">, а КККК заменено на </a>. Но это потом, а пока что желательно вместо НННН и КККК вывести текст в строку с невидимыми метками, поскольку любые метки, и предложенные Вами [marked] тоже, очень мешают.
Для работы с формой я использую код
echo"<form action='?act=".$n_ss."' method='post'>";
for ($j = 1; $j <= $n_ss; $j++)
{
echo "<input type=text size=110 name=\"peremen".$j."\" value=\""
. htmlspecialchars($ssilka[$j]) . "\"><br/>";
}
echo '<input type="submit" value="Ввести" >' ;
echo "</form>";
if ($_GET['act']==$n_ss)
{
for ($j = 1; $j <= $n_ss; $j++)
{
$ssilka[$j] = $_POST["peremen$j"];
}
}
|
На мой взгляд, для этой цели подошли бы какие-нибудь управляющие или служебные коды, которые в текстовый файл запишутся, но при просмотре текста в форме броузером не воспроизведутся. Но, к сожалению, htmlspecialchars их отрубает.
Можно ли что-то придумать? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(01.08.2007 в 15:00)
| | | Вам что надо, в одном предложении иметь несколько выделенных слов:
Этот текст написан с виделением ? | |
| |
|
|
| |
|
|
| |
для: sim5
(01.08.2007 в 15:13)
| | | Да, так. Хотя бы одно слово, начало и конец которого имеют метку.
Ваш текст написан с выделением, но, как я полагаю, это сделано тегами <B> Мне это не подойдет, поскольку при этом в форме будет <тег открывающийся>лето<тег закрывающийся>. А надо, чтобы в форме читалось "лето", не загромождая тегами. И с этими невоспроизводимыми тегами информация сохранялась в моей форме.
Такое возможно? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(01.08.2007 в 15:39)
| | | Если вы напишите в своей форме:
"Этот виделеный текст"
то ничего не помешает пользователю, при его редактировании, снести все ваши невидимые метки. Если вы хотите разрешить пользователю выделять (отмечать) текст, то применяйте типа bbcodes. Если речь идет только об одном слове, которое находится в INPUT, то в это поле вообще ничего добавлять не надо - при получении этого поля, достаточно будет к его значеню "приклеить" все, что вам потребуется. | |
| |
|
|
| |
|
|
| |
для: sim5
(01.08.2007 в 15:56)
| | | сделайте как в бодьшинстве вики - выделяется все что между звездочками:
| |
| |
|
|