回答編集履歴
1
evalを使った別解を追記しました
test
CHANGED
@@ -43,3 +43,41 @@
|
|
43
43
|
echo $t->getText();
|
44
44
|
|
45
45
|
```
|
46
|
+
|
47
|
+
---
|
48
|
+
|
49
|
+
asahina1979さんが既に示唆されていますが、おそらくもっとも要望にかなうのはevalでしょうね。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
```PHP
|
54
|
+
|
55
|
+
<?php
|
56
|
+
|
57
|
+
$LONG_TEXT = 'return "${company}株式会社 ${name}様\n あいうえお${x}かきくけこ${y}";';
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
$company = 'アップル';
|
62
|
+
|
63
|
+
$name = 'スティーブ';
|
64
|
+
|
65
|
+
$x = '◯◯◯';
|
66
|
+
|
67
|
+
$y = '×××';
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
echo eval($LONG_TEXT);
|
72
|
+
|
73
|
+
```
|
74
|
+
|
75
|
+
ただ、evalは非常に危険な機能ですので、濫用は絶対に駄目です。非常手段として紹介しましたが、もっと安全な方法を使うべきかと思います。
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
> **警告**
|
80
|
+
|
81
|
+
> eval() は非常に危険な言語構造です。 というのも、任意の PHP コードを実行できてしまうからです。 これを使うことはおすすめしません。 いろいろ検討した結果どうしても使わざるを得なくなった場合は、細心の注意を払って使いましょう。 ユーザーから受け取ったデータをそのまま渡してはいけません。 渡す前に、適切な検証が必要です。
|
82
|
+
|
83
|
+
> [http://php.net/manual/ja/function.eval.php](http://php.net/manual/ja/function.eval.php) から引用
|