我在我的数据库中获取了这些数据:
如您所见,我在数据库中存储了一个 html 模板。
这是我用来输出该 html 的代码:
$php = Blade::compileString($template->content);
dd($php) //i used laravel framework, btw.
然后这是输出:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Exmaple.com</title>
<style>
</style>
</head>
<body>
<div class="account-details">
<b>Account Name</b>: <?php echo e(company.name); ?><br>
<b>Plan</b>: <?php echo e(plan.name); ?><br>
<b>Source</b>: <?php echo e(source.name); ?><br>
<b>Source Type</b>: <?php echo e(source.source_type.name); ?><br>
<br>
</div>
<div class="welcome" style="font-family:Arial;font-size:small">
Hi <?php echo e(user.first_name); ?>,<br>
<br>
There seems to be a problem blah blah blah<br>
<br>
Details of the problem are:<br>
<?php echo e(sourceMessage); ?><br>
<br>
You can check and update the source here:<br>
https://example.com<br>
<br>
<br>
<span style="font-size:12.8px">
Kind regards,<br>
<br>
Test Team<br>
<br>
Email: <a href="mailto:test@example.com" target="_blank">example.com</a><br>
Website: <a href="http://example.com" target="_blank">example.com</a><br>
</span>
</div>
</body>
</html>
我想在这个例子中将.(dot) 更改为->so,一些文本将输出如下:
从<?php echo e(company.name); ?>到<?php echo e(company->name); ?>
从<?php echo e(source.name); ?>到<?php echo e(source->name); ?>
所以我认为如果它在 a<?php echo e(whatever); ?>那是我们检查并替换为的.时间->?
我认为这可以通过 RegEx 来完成,但我不是这方面的专家。
我想替换它的原因是因为我从电子邮件服务获取模板然后返回.,所以我想替换它->因为我知道 PHP 读取->访问对象而不是..
HUWWW
茅侃侃