gpt4 book ai didi

javascript - 如何将脚本放置在动态段落中

转载 作者:行者123 更新时间:2023-12-03 00:53:25 25 4
gpt4 key购买 nike

我有 google adsense 脚本,我可以将其放置在网页上的不同位置。

我还有正文文本,其中包含每个帖子说明,我想知道如何添加 AdSense 脚本动态到我的帖子正文中? (Google 建议将其放在第二段之后)。

我正在使用 laravel,这就是我获取每篇文章的正文部分的方式

{!! $post->body !!}

Google adsense 代码示例:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-6565454545454774"
data-ad-slot="548855465655"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

有什么想法吗?

更新

单个帖子功能

//single post
public function single($slug)
{
$post = Post::where('slug', $slug)->where('publish', '=', 'y')->firstOrFail();

$post->addPageView();

$previous = Post::where('slug', '<', $post->slug)->max('slug');

$next = Post::where('slug', '>', $post->slug)->min('slug');

$products = Product::all()->where('status', 'enable')->random(3);

$categories = PostCategory::all();

$settings = Setting::all();

$author = AuthorInfo::where('user_id', $post->user->id)->first();

return view('front.singlepost', compact('post', 'previous', 'next', 'products','categories', 'settings','author'));
}

最佳答案

我还没有机会对此进行测试,但是您可以创建一个 accessor (在本例中为 getBodyWithAdsenseAttribute ),这将创建正文内容的更改版本,并在第 2 段段落之后包含 adsense 内容:

在您的Post内模型文件:

public function getBodyWithAdsenseAttribute()
{
$javascript = '<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-6565454545454774"
data-ad-slot="548855465655"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>';

$paragraphs = explode('</p>', $this->body); // Explode current body field
$new_content = ''; // Variable for new content
$count = 1; // Set count for adding new content

foreach ($paragraphs as $paragraph) {
$new_content .= $paragraph;

if ($count == 2) {
$new_content .= $javascript;
}

$count++;
}

return $new_content;
}

在这里,我们将所有 AdSense 数据存储在 $javascript 中多变的。

然后我们explode() body截止内容</p>标签,从内容创建一个数组。

使用 foreach() ,我们重新创建body内容,计数以查看它是否在 </p>2nd 实例之后标签。如果是这样,我们添加 $javascript内容到新内容。

最后,我们返回所有内容。这可以在 Blade 中使用,如下所示

{!! $post->bodyWithAdsense !!}

注意:如果只有一个段落,或者根本没有正文内容,则需要更多代码来回退。

关于javascript - 如何将脚本放置在动态段落中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52947773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com