html обрабатывается в string_replace как переменная

#php #variables #replace

#php #переменные #заменить

Вопрос:

У меня есть html <h1 class="title">[VALUE]</h1> , который [VALUE] заменяется некоторыми данными при обработке шаблона.

Я хотел бы использовать данные, которые заменяются [VALUE] в переменной php.

Что-то вроде этого, $my_var = '[VALUE]'; но вышеупомянутое не работает.

 function getHTML($articleid, $fieldid, $category = false, $write=false)
    { 
        global $globalreturn;

      //$str = fieldattach::getInput($articleid, $fieldid, $category); 
      $html ='';
      $valor = fieldattach::getValue( $articleid,  $fieldid , $category   );
      $title = fieldattach::getName( $articleid,  $fieldid , $category  );
      $published = plgfieldsattachment_input::getPublished( $fieldid  );


      if(!empty($valor) amp;amp; $published)
      {


          $html = plgfieldsattachment_input::getTemplate($fieldid);

          if(fieldattach::getShowTitle(   $fieldid  )) $html = str_replace("[TITLE]", $title, $html); 
          else 
          $html = str_replace("[TITLE]", "", $html); 
          $html = str_replace("[VALUE]", $valor, $html);
          $html = str_replace("[FIELD_ID]", $fieldid, $html);
      }


       //WRITE THE RESULT
       if($write)
       {
            echo $html;
       }else{
            $globalreturn = $html;
            return $html; 
       }
    }

    function getTemplate($fieldsids, $file="input", $valor)
    {
        global $globalreturn;
        echo $valor;


          $templateDir =  dirname(__FILE__).'/tmpl/'.$file.'.tpl.php'; 
          $html = file_get_contents ($templateDir);


          $app = JFactory::getApplication();
          $templateDir =  JPATH_BASE . '/templates/' . $app->getTemplate().'/html/com_fieldsattach/fields/'.$file.'.tpl.php';

          if(file_exists($templateDir))
          {

              $html = file_get_contents ($templateDir);
          }

          $app = JFactory::getApplication();
          $templateDir =  JPATH_BASE . '/templates/' . $app->getTemplate().'/html/com_fieldsattach/fields/'.$fieldsids.'_'.$file.'.tpl.php';

          if(file_exists($templateDir))
          { 

              include ($templateDir);
          }

          //return $html;
    }
  

Я пытаюсь использовать функцию формы $valor getHTML(); внутри getTemplate();
Как вы увидите в приведенном выше коде, я уже пытался вызвать global $globalreturn, а затем echo $valor; но это не работает.

Комментарии:

1. Пожалуйста, опубликуйте некоторый код

Ответ №1:

Вы можете попробовать следующим образом

Я думаю, вы хотите передать переменную на другую страницу. Поэтому добавьте следующий код в myfile.php

   <h1 class="title"><?php define ( 'myVariable', '[VALUE]' ); ?></h1>
  

И вызовите с помощью функции require на следующей странице.

 <?php
require("myfile.php");
?>
  

Комментарии:

1. Привет, это не сработало. позвольте мне попробовать переформулировать мой вопрос. Как мне использовать теги php в php-файле, который вызывается unsing file_get_content(‘myfile.php ‘);

2. Добавить <?php define ( ‘myVariable’, ‘[VALUE]’ ); ?> и называть, используя требуют(«myfile.php»);

3. Спасибо, это не сработало. Я решил просто создать переменные класса и вызвать их в своем файле. Изначально моей целью было не изменять это расширение core files, но я уже потратил на это слишком много времени. 🙂 если я вызываю файл с помощью require, он отображает число 1, а не значение.

4. Пожалуйста, не используйте $ sign в функции define. Просто используйте myVariable . Как echo myVariable;

5. Привет, Аршид Кв, я только что попробовал это снова. все еще не повезло. Я сделал так, как вы предложили. Я загрузил свой файл, используя ‘требуют’ и <h1><?php define ($html, ‘[VALUE]’);?></h1>