如何在文本区域中输入用户后获取单词?
How to get word after user input in textarea?
我有一个文本区域供用户插入文本,但如果用户键入 {{name}}、{{nickname}} 和 {{email}}。它必须显示具有该值的消息。让我演示一下:
例如:如果用户类型:你好,{{name}} 有 {{nickname}} 和 {{email}} 消息必须是这样的:你好,用户 A 有昵称 A 和电子邮件@gmail.com.
这是我的 blade 视图:
// User insert text here
<textarea name="content" value=""></textarea>
我的控制器:
// My controller did not work, but I want to know how to use explode
$content = $request->input('content');
$new_content = explode($content, '{{name}}', '{{nickname}}', '{{email}}');
这是我在许多项目中使用的方法,允许 return 替换的模板输入和函数。
这里,$subject 是被修改的文本。
preg_match_all('/{{(\S*)}}/',$subject,$matches,PREG_SET_ORDER);
foreach($matches as $match) {
$func = 'replace_'.$match[1];
if(method_exists($this,$func)) {
$subject = str_replace($match[0], $this->$func($match), $this->subject);
}
}
然后您可以创建以 replace_
和 return 开头的函数,要插入到原始消息中的字符串
例如
public function replace_name($match)
{
return $$this->user->name;
}
我有一个文本区域供用户插入文本,但如果用户键入 {{name}}、{{nickname}} 和 {{email}}。它必须显示具有该值的消息。让我演示一下: 例如:如果用户类型:你好,{{name}} 有 {{nickname}} 和 {{email}} 消息必须是这样的:你好,用户 A 有昵称 A 和电子邮件@gmail.com.
这是我的 blade 视图:
// User insert text here
<textarea name="content" value=""></textarea>
我的控制器:
// My controller did not work, but I want to know how to use explode
$content = $request->input('content');
$new_content = explode($content, '{{name}}', '{{nickname}}', '{{email}}');
这是我在许多项目中使用的方法,允许 return 替换的模板输入和函数。
这里,$subject 是被修改的文本。
preg_match_all('/{{(\S*)}}/',$subject,$matches,PREG_SET_ORDER);
foreach($matches as $match) {
$func = 'replace_'.$match[1];
if(method_exists($this,$func)) {
$subject = str_replace($match[0], $this->$func($match), $this->subject);
}
}
然后您可以创建以 replace_
和 return 开头的函数,要插入到原始消息中的字符串
例如
public function replace_name($match)
{
return $$this->user->name;
}