代码之家  ›  专栏  ›  技术社区  ›  Ciprian Pap

使用php在给定php字符串的特定段落上插入自定义html/javascript代码

  •  0
  • Ciprian Pap  · 技术社区  · 8 年前

    我有一个Joomla!网站和我需要使文章默认。php文件,自动添加一些自定义代码(谷歌Adsense或任何其他自定义模块生成的内容)后,一个特定的标记(例如:秒)

    或第三)的文章html代码。

    简而言之,我有文章文本的标准php调用:

    <div itemprop="articleBody">
        <?php echo $this->item->text; ?>
    </div>
    

    我想用make做一个变量,我们把它叫做 $basic_article $this->item->text;

    我想创建一个函数来计算 $basic_文章 并插入渲染的Joomla!模块在字符串的第二、第三或x段之前或之后定位甚至自定义html代码,然后重写字符串并打印或回显它。

    请帮帮我!任何建议都欢迎。

    1 回复  |  直到 8 年前
        1
  •  0
  •   YellowWebMonkey    8 年前

    我通过在设置的段落之间输入一个模块位置来实现这一点。然后,您可以指定哪些页面上有自定义代码(即模块中的代码)。你可以拿着它,根据自己的需要进行定制。

    <div itemprop="articleBody">
    <?php
      $needle = "</p>";
      $length = strlen($needle);
    
      $this_article = $this->item->text;
      $pos1 = strpos($this_article, $needle);
      $pos2 = ($pos1!== 0 && strpos($this_article, $needle, $pos1 + $length)) ? strpos($this_article, $needle, $pos1 + $length): 0;
    
     $first_para = substr($this_article,0,$pos2);
     $rest_para = substr($this_article,$pos2 + $length); 
        echo $first_para;
        echo JHtml::_('content.prepare', '{loadposition inline-zone}'); 
        echo $rest_para;
    ?>		
    </div>

    您希望在中的模板覆盖中执行此操作 /templates/MY\u TEMPLATE\u NAME/html/com\u content/article/default.php

    或者做一个自定义的文章布局并将其放入 /组件/组件内容/视图/文章/tmpl/