[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: str_replace помощь
alerzo
Здравствуйте! требуется заменять введенный код юзером на определенное содержимое, которое в дальнейшем передается в скрипт, например код такой
$codert ='{code}a;link;http://rotaban.ru/askl;click{/code}';
$str_1='var cmdname="click";var cmdtime=parseInt(prompt("prs::" + prskey + "::parse::<rndr(15:20)>"));var cmdparam="';

$str_2='";alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);';

$bodytag = str_replace('{code}', $str_1, $codert);
$bodytag = str_replace('{/code}', $str_2, $codert);

echo $bodytag;


т.е должно получиться следующее после замены
var cmdname="click";
var cmdtime=parseInt(prompt("prs::" + prskey + "::parse::<rndr(15:20)>"));
var cmdparam="a;link;http://rotaban.ru/askl;click";
alert("prs::" + prskey + "::add::" + cmdname + "::" + cmdtime + "::" + cmdparam);


но не работает, подозреваю где то косяк с ковычками..
в конечной переменной $bodytag доллжен лежать уже замененный скрипт

PS: как еще можно это решить? более безопасно..т.к. пользователь может ввести лишнюю ковычку вместо "своего текста" = > строка "a;link;http://rotaban.ru/askl;click" и все сломается!
kostr
Вы оба раза преобразовываете $codert, наверное, во второй раз надо уже $bodytag ?


$bodytag = str_replace('{code}', $str_1, $codert);
$bodytag = str_replace('{/code}', $str_2, $bodytag);
alerzo
да! спасибо, теперь заработало! Подскажите, как исключить ошибки связанные с вводом ковычек между тегами? например если ввести одинарную ковычку или двойную в тексте между тегами - сразу возникают ошибки..
kostr
Если там совсем не должно быть кавычек, замените их сразу той же str_replace на пустую строку и все.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.