php - 将textarea中的单词放入变量

php - 将textarea中的单词放入变量

问题描述:

我需要为tetxarea输入文本扫描标记的单词并将它们放入变量中。php - 将textarea中的单词放入变量

<textarea type="text" class="form-control" id="text" placeholder="put some text" name="text"></textarea> 

例如,在文本区域的文本是

Every [day] I go to the [shop]. 

当窗体过帐,在括号中的字具有在变量中,自动生成的传递,它必须是这样的

$word1 = "day"; 
$word2 = "shop"; 
+1

听起来像一个计划。如果您遇到任何问题,请告知我们。 –

+1

很好。祝你好运。你有问题吗?这个网站是问题,而不是转储您的待办事项/需求清单的地方。 –

+0

旁注:'

可以preg_match_all使用,像

preg_match_all ("/\[([^\]]+)\]/ism", $textarea, $matches); 

$比赛将是:

Array 
(
    [0] => Array 
     (
      [0] => [day] 
      [1] => [shop] 
     ) 

    [1] => Array 
     (
      [0] => day 
      [1] => shop 
     ) 

) 

和$匹配[1]将包含与你的单词的数组。

+0

确实。但是,您可能没有注意到'

+0

我认为'[天]'和'[商店]'这个变量。 – Naumov

+0

非常感谢! – Prolomzzz

那么,你可以尝试这样的事情:

<?php 
     $textAreaText = $_POST["text"]; 
     preg_match("#(\[.*\])#si", $textAreaText, $matches); //<== MATCH EVERY TEXT WITHIN [] 

     // THE MATCHES ARRAY CONTAINS ANY TEXT ENCLOSED WITHIN [] 
     var_dump($matches); 

     // HOWEVER, YOU MAY HAVE TO ACCESS THE VARIABLES USING NUMBERS LIKE: 
     // $matches[1]... etc 
     // OR YOU COULD USE A LOOP AND CREATE VARIABLES OUT OF THE $matches ARRAY LIKE SO: 
     $arrWords  = array(); 

     foreach($matches as $iKey=>$match){ 
      if($iKey != 0){ 
       $key   = "word" . $iKey; 
       $arrWords[$key] = $match; 
      } 
     } 

     // EXTRACT THE DATA IN THE ARRAY INTO VARIABLES: 
     extract($arrWords); 

     // NOW YOU COULD DO SOMETHING LIKE 
     echo $word1; // ASSUMING YOU HAVE AT LEAST 1 WORD WRAPPED WITHIN [] 
     echo $word2; // ASSUMING YOU HAVE UP TO 2 WORDS WRAPPED WITHIN [] 
     echo $word3; // ASSUMING YOU HAVE UP TO 3 WORDS WRAPPED WITHIN []