簡體   English   中英

如何在文本區域中輸入用戶后獲取單詞?

[英]How to get word after user input in textarea?

我有一個文本區域供用戶插入文本,但如果用戶鍵入 {{name}}、{{nickname}} 和 {{email}}。 它必須顯示具有該值的消息。 讓我演示一下:例如:如果用戶類型:你好,{{name}} 有 {{nickname}} 和 {{email}} 消息必須是這樣的:你好,用戶 A 有昵稱 A 和 email@gmail.com .

這是我的刀片視圖:

// User insert text here
<textarea name="content" value=""></textarea>

我的 controller:

// 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}}');

這是我在許多項目中使用的方法,允許模板輸入和返回替換的函數。

這里,$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_開頭的函數,並返回要插入到原始消息中的字符串

例如

public function replace_name($match)
{
  return $$this->user->name;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM