将内容(或广告)放在从php服务器返回的HTML之间


Place content (or ads) between HTML that is returned from a php server?

我用的是laravel, vuejs。

这是一个简单的问题。但在创建它之前,我需要知道它是否有效。所以我现在做的是
    我有一个所见即所得的编辑器。我将内容保存到html文件中,并将位置存储到该html文件中,作为数据库中的参考
  • 当用户请求页面时,我正在检索该html文件并将内容发送到页面并将内容放在页面中。

现在的问题,我需要在html片段(从服务器返回)的一些内容之间放置广告代码。html是从php服务器返回的完整内容。对吧?

那么我怎么能把adsense代码之间的每一段左右的内容从服务器返回?

您应该真正考虑将内容存储在DB中。但是,如果出于某种原因确实需要在文件中存储HTML,则可以在编辑器中使用!adsense!这样的HTML标记。然后从文件中读取HTML,并使用str_replace或类似的功能将此标签替换为实际的广告代码。

正如Alexey所说,您可以考虑将内容存储在DB上。
另外,你可以考虑使用标记代替HTML,你仍然可以使用所见即所得,但更容易预处理,更容易转换为HTML。

话虽如此,我同意最好的选择是使用"key"来替换,但这意味着将控制权交给编辑人员,他是否想要添加广告。

我真的认为你应该前处理HTML,有些图书馆前处理,或者你可以使用一个正则表达式,但底线是,你读的HTML输出之前,并找出是什么一个段落(取决于你的所见即所得格式的东西,这就是为什么我更喜欢减价),例如,你可以把它分成两段基于p标签之类的,然后重新组装,但添加广告每个X段落,这样你就可以控制广告的投放方式和时间,而不是编辑广告的人。

要预处理HTML,您可以使用以下选项之一:

  • Symphony DOM Crawler(推荐):http://symfony.com/doc/current/components/dom_crawler.html
  • PHP DOM函数:http://php.net/manual/en/book.dom.phpPHP HTML解析器库:https://github.com/paquettg/php-html-parser

或者类似的