laravel - Laravel 组件的钩子?
问题描述
有没有可以侵入 Laravel 组件的钩子?
例如:
在components/foo.blade.php
:
<div>Foo</div>
在任何方面:
<x-foo />
输出:
<div>Hi Foo</div>
<div>Foo</div>
自动插入一个<div>Hi Foo</div>
。
我不想使用自定义刀片指令来做到这一点,因为我想<div>Hi Foo</div>
在每个组件中插入。
解决方案
$dom = new \DOMDocument();
$dom->loadHtml($post->body);
$divs = $dom->getElementsByTagName('div');
/** Get the lengths of the div to perform element replacing */
$divLength = $divs->length;
for ($i = 0; $i < $divLength; $i++) {
$elem=$divs->item(0);
// print innerHTML
$get = $elem->innerHTML; // '<p>foo</p>'
// set innerHTML
$elem->innerHTML = '<p>hi</p>'.$get;
// print document (with our changes)
echo $dom->saveHTML();
}
在控制器中你可以使用 DOM 可能会帮助你
推荐阅读
- automated-tests - 根据文本单击按钮
- web-component - 在 shadowRoot 中执行脚本
- python - 得到以下消息:没有这样的元素:无法找到元素:{“method”:”xpath”,”selector”:”//span[@id='lblError']/text()”}”
- netsuite - 将子列表添加到自定义记录
- reactjs - 处理 react-youtube 包时,在 React.js 中 setInterval 没有正确清除
- spring-integration - JMS MQ 通道不断增加和耗尽
- sql - 对多个 CTE 表执行一系列计算
- vue.js - 如何在 Vue2 中使用依赖项中的全局组件
- datepicker - Syncfusion 日期选择器不适用于角度反应形式
- python - Typing - 函数返回值类型与表达式类型相同