У меня проблема в Phpmaker, и я не знаю, как ее решить. Я создал базу данных MySQL (InnoDB) и интерфейс PHPMaker, где я копирую HTML-код, созданный на сайте IMDB, на этом URL-адресе: www.imdb.com/plugins
Этот код дает мне рейтинг фильма пользователями. Я вставляю в поле ввода textarea и сохраняю. Данные, сохраненные в столбце MySQL, получают <x>
в середине кода.
Это оригинальный (скопированный) код, из IMDB:
<span class="imdbRatingPlugin" data-user="ur21152180" data-title="tt3228904" data-style="p3"> <a href="http://www.imdb.com/title/tt3228904/?ref_=plg_rt_1"> <img src="http://img.ruphp.com/php/imdb_37x18.png" alt=" Empire (2015) on IMDb" /> </a> </span> <script> (function(d,s,id){ var js,stags=d.getElementsByTagName(s)[0]; if(d.getElementById(id)){return;} js=d.createElement(s); js.id=id; js.src="http://g-ec2.images-amazon.com/images/G/01/imdb/plugins/rating/js/rating.min.js"; stags.parentNode.insertBefore(js,stags);}) (document,'script','imdb-rating-api'); </script>
И это то, что сохраняется на mysql:
<span class="imdbRatingPlugin" data-user="ur21152180" data-title="tt3228904" data-style="p3"> <a href="http://www.imdb.com/title/tt3228904/?ref_=plg_rt_1"> <img src="http://img.ruphp.com/php/imdb_37x18.png" alt=" Empire (2015) on IMDb" /> </a> </span> <s<x>cript> (function(d,s,id){ var js,stags=d.getElementsByTagName(s)[0]; if(d.getElementById(id)){return;} js=d.createElement(s); js.id=id; js.src="http://g-ec2.images-amazon.com/images/G/01/imdb/plugins/rating/js/rating.min.js"; stags.parentNode.insertBefore(js,stags);}) (document,'script','imdb-rating-api'); </script>
<x>
вставляется в середине <script>
.
Может ли кто-нибудь пролить свет на эту проблему?
phpmaker вставляет < x >
в слово 'script'. Может быть, по соображениям безопасности.
Я решил эту проблему на phpmaker10, используя скрипт на стороне сервера.
Вот так:
Сначала выберите поле, которое вы хотите с левой стороны. Я назвал его (текст). Затем нажмите вкладку «Код» («События сервера», «Скрипты клиента»). Затем в разделе «События сервера» разверните «Таблица», «Общие», затем «Row_Rendered». Замените текущий код следующим образом:
// Row Rendered event function Row_Rendered() { // To view properties of field class, use: //var_dump($this-><FieldName>); $string = $this->text->ViewValue; $correctedText = str_replace("<x>","",$string); $this->text->ViewValue = $correctedText; }
Есть и другие способы, но это был один из них.