Finding particular text from string and match it with database





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I have a website where people can create recipe and while creating recipe they can put ingredients into steps and I want the ingredients added in every step to be highlighted and match with database so that I can change the weight and link it with ingredient details etc.



So when users write text for steps in ingredients it is like this




IN THIS STEP YOU HAVE TO ADD [400g water{65}] and [10g oil{61}] boil
it for 30 mins .



where [400g water{65}] 400g is the weight water is the name of
ingredient only to show to users and {65} is the id from database with
i will match it later




what I am doing right now is




TEST




 $text="Pour 1 cup of the cream into a saucepan 
and add the sugar, salt. Scrape the seeds of the vanilla bean into the pot and then add the vanilla pod to the pot. Warm the
mixture over medium heat, just until the sugar dissolves. Remove from the heat and add the remaining cream, milk, and
vanilla. Stir to combine and chill in the refrigerator.[100g water{64}] [40g oil{61}] ";
$text2=$text;
$checkid=substr_count("$text2",'[');
while ($checkid > 0){
$pos = strpos($text2, '{');
$pos2 = strpos($text2, '}');
$pos3=$pos2-$pos-1;
$datas=substr($text2,$pos+1,$pos3);

$datas2=substr($text2,$pos+1,$pos3);
$getdatas_dats=mysqli_query($conn,"select rising,riswei,inname from recipe_ing_steps r,ingre i where r.risid='$datas' and r.rising=i.inid");
$thedatass=mysqli_fetch_array($getdatas_dats);
$string=" <a href='#'>".$thedatass['riswei'].' grams of '.$thedatass['inname']."</a> ";
$text2=preg_replace("/[[^]]+]/","",$text2,1);
echo $string;
$checkid --;
}


This gives me the name of both the ingredient from database but wheat I want is to replace every [400g water{65}] with the respected string in every text .










share|improve this question































    0















    I have a website where people can create recipe and while creating recipe they can put ingredients into steps and I want the ingredients added in every step to be highlighted and match with database so that I can change the weight and link it with ingredient details etc.



    So when users write text for steps in ingredients it is like this




    IN THIS STEP YOU HAVE TO ADD [400g water{65}] and [10g oil{61}] boil
    it for 30 mins .



    where [400g water{65}] 400g is the weight water is the name of
    ingredient only to show to users and {65} is the id from database with
    i will match it later




    what I am doing right now is




    TEST




     $text="Pour 1 cup of the cream into a saucepan 
    and add the sugar, salt. Scrape the seeds of the vanilla bean into the pot and then add the vanilla pod to the pot. Warm the
    mixture over medium heat, just until the sugar dissolves. Remove from the heat and add the remaining cream, milk, and
    vanilla. Stir to combine and chill in the refrigerator.[100g water{64}] [40g oil{61}] ";
    $text2=$text;
    $checkid=substr_count("$text2",'[');
    while ($checkid > 0){
    $pos = strpos($text2, '{');
    $pos2 = strpos($text2, '}');
    $pos3=$pos2-$pos-1;
    $datas=substr($text2,$pos+1,$pos3);

    $datas2=substr($text2,$pos+1,$pos3);
    $getdatas_dats=mysqli_query($conn,"select rising,riswei,inname from recipe_ing_steps r,ingre i where r.risid='$datas' and r.rising=i.inid");
    $thedatass=mysqli_fetch_array($getdatas_dats);
    $string=" <a href='#'>".$thedatass['riswei'].' grams of '.$thedatass['inname']."</a> ";
    $text2=preg_replace("/[[^]]+]/","",$text2,1);
    echo $string;
    $checkid --;
    }


    This gives me the name of both the ingredient from database but wheat I want is to replace every [400g water{65}] with the respected string in every text .










    share|improve this question



























      0












      0








      0








      I have a website where people can create recipe and while creating recipe they can put ingredients into steps and I want the ingredients added in every step to be highlighted and match with database so that I can change the weight and link it with ingredient details etc.



      So when users write text for steps in ingredients it is like this




      IN THIS STEP YOU HAVE TO ADD [400g water{65}] and [10g oil{61}] boil
      it for 30 mins .



      where [400g water{65}] 400g is the weight water is the name of
      ingredient only to show to users and {65} is the id from database with
      i will match it later




      what I am doing right now is




      TEST




       $text="Pour 1 cup of the cream into a saucepan 
      and add the sugar, salt. Scrape the seeds of the vanilla bean into the pot and then add the vanilla pod to the pot. Warm the
      mixture over medium heat, just until the sugar dissolves. Remove from the heat and add the remaining cream, milk, and
      vanilla. Stir to combine and chill in the refrigerator.[100g water{64}] [40g oil{61}] ";
      $text2=$text;
      $checkid=substr_count("$text2",'[');
      while ($checkid > 0){
      $pos = strpos($text2, '{');
      $pos2 = strpos($text2, '}');
      $pos3=$pos2-$pos-1;
      $datas=substr($text2,$pos+1,$pos3);

      $datas2=substr($text2,$pos+1,$pos3);
      $getdatas_dats=mysqli_query($conn,"select rising,riswei,inname from recipe_ing_steps r,ingre i where r.risid='$datas' and r.rising=i.inid");
      $thedatass=mysqli_fetch_array($getdatas_dats);
      $string=" <a href='#'>".$thedatass['riswei'].' grams of '.$thedatass['inname']."</a> ";
      $text2=preg_replace("/[[^]]+]/","",$text2,1);
      echo $string;
      $checkid --;
      }


      This gives me the name of both the ingredient from database but wheat I want is to replace every [400g water{65}] with the respected string in every text .










      share|improve this question
















      I have a website where people can create recipe and while creating recipe they can put ingredients into steps and I want the ingredients added in every step to be highlighted and match with database so that I can change the weight and link it with ingredient details etc.



      So when users write text for steps in ingredients it is like this




      IN THIS STEP YOU HAVE TO ADD [400g water{65}] and [10g oil{61}] boil
      it for 30 mins .



      where [400g water{65}] 400g is the weight water is the name of
      ingredient only to show to users and {65} is the id from database with
      i will match it later




      what I am doing right now is




      TEST




       $text="Pour 1 cup of the cream into a saucepan 
      and add the sugar, salt. Scrape the seeds of the vanilla bean into the pot and then add the vanilla pod to the pot. Warm the
      mixture over medium heat, just until the sugar dissolves. Remove from the heat and add the remaining cream, milk, and
      vanilla. Stir to combine and chill in the refrigerator.[100g water{64}] [40g oil{61}] ";
      $text2=$text;
      $checkid=substr_count("$text2",'[');
      while ($checkid > 0){
      $pos = strpos($text2, '{');
      $pos2 = strpos($text2, '}');
      $pos3=$pos2-$pos-1;
      $datas=substr($text2,$pos+1,$pos3);

      $datas2=substr($text2,$pos+1,$pos3);
      $getdatas_dats=mysqli_query($conn,"select rising,riswei,inname from recipe_ing_steps r,ingre i where r.risid='$datas' and r.rising=i.inid");
      $thedatass=mysqli_fetch_array($getdatas_dats);
      $string=" <a href='#'>".$thedatass['riswei'].' grams of '.$thedatass['inname']."</a> ";
      $text2=preg_replace("/[[^]]+]/","",$text2,1);
      echo $string;
      $checkid --;
      }


      This gives me the name of both the ingredient from database but wheat I want is to replace every [400g water{65}] with the respected string in every text .







      php mysql regex






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 3 at 5:08









      Cœur

      19.3k10116155




      19.3k10116155










      asked Dec 2 '18 at 10:00









      AmaniAmani

      2911




      2911
























          1 Answer
          1






          active

          oldest

          votes


















          0














          $text="Pour 1 cup of the cream into a saucepan and add the sugar, salt. Scrape the seeds of the vanilla bean into the pot and then add the vanilla pod to the pot. Warm the mixture over medium heat, just until the sugar dissolves. Remove from the heat and add the remaining cream, milk, and vanilla. Stir to combine and chill in the refrigerator.[100g water{64}] [400g water{65}] ";
          $text2=$text;
          $checkid=substr_count("$text2",'[');
          while ($checkid > 0){
          $pos = strpos($text2, '{');
          $pos2 = strpos($text2, '}');
          $pos3=$pos2-$pos-1;
          $datas=substr($text2,$pos+1,$pos3);

          $getdatas_dats=mysqli_query($conn,"select rising,riswei,inname from recipe_ing_steps r,ingre i where r.risid='$datas' and r.rising=i.inid");
          $thedatass=mysqli_fetch_array($getdatas_dats);
          $string=" <a href='#'>".$thedatass['riswei'].' grams of '.$thedatass['inname']."</a> ";
          $text2=preg_replace("/[[^]]+]/","$string",$text2,1);
          $checkid --;
          }
          echo $text2;


          This works fine






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53579180%2ffinding-particular-text-from-string-and-match-it-with-database%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            $text="Pour 1 cup of the cream into a saucepan and add the sugar, salt. Scrape the seeds of the vanilla bean into the pot and then add the vanilla pod to the pot. Warm the mixture over medium heat, just until the sugar dissolves. Remove from the heat and add the remaining cream, milk, and vanilla. Stir to combine and chill in the refrigerator.[100g water{64}] [400g water{65}] ";
            $text2=$text;
            $checkid=substr_count("$text2",'[');
            while ($checkid > 0){
            $pos = strpos($text2, '{');
            $pos2 = strpos($text2, '}');
            $pos3=$pos2-$pos-1;
            $datas=substr($text2,$pos+1,$pos3);

            $getdatas_dats=mysqli_query($conn,"select rising,riswei,inname from recipe_ing_steps r,ingre i where r.risid='$datas' and r.rising=i.inid");
            $thedatass=mysqli_fetch_array($getdatas_dats);
            $string=" <a href='#'>".$thedatass['riswei'].' grams of '.$thedatass['inname']."</a> ";
            $text2=preg_replace("/[[^]]+]/","$string",$text2,1);
            $checkid --;
            }
            echo $text2;


            This works fine






            share|improve this answer




























              0














              $text="Pour 1 cup of the cream into a saucepan and add the sugar, salt. Scrape the seeds of the vanilla bean into the pot and then add the vanilla pod to the pot. Warm the mixture over medium heat, just until the sugar dissolves. Remove from the heat and add the remaining cream, milk, and vanilla. Stir to combine and chill in the refrigerator.[100g water{64}] [400g water{65}] ";
              $text2=$text;
              $checkid=substr_count("$text2",'[');
              while ($checkid > 0){
              $pos = strpos($text2, '{');
              $pos2 = strpos($text2, '}');
              $pos3=$pos2-$pos-1;
              $datas=substr($text2,$pos+1,$pos3);

              $getdatas_dats=mysqli_query($conn,"select rising,riswei,inname from recipe_ing_steps r,ingre i where r.risid='$datas' and r.rising=i.inid");
              $thedatass=mysqli_fetch_array($getdatas_dats);
              $string=" <a href='#'>".$thedatass['riswei'].' grams of '.$thedatass['inname']."</a> ";
              $text2=preg_replace("/[[^]]+]/","$string",$text2,1);
              $checkid --;
              }
              echo $text2;


              This works fine






              share|improve this answer


























                0












                0








                0







                $text="Pour 1 cup of the cream into a saucepan and add the sugar, salt. Scrape the seeds of the vanilla bean into the pot and then add the vanilla pod to the pot. Warm the mixture over medium heat, just until the sugar dissolves. Remove from the heat and add the remaining cream, milk, and vanilla. Stir to combine and chill in the refrigerator.[100g water{64}] [400g water{65}] ";
                $text2=$text;
                $checkid=substr_count("$text2",'[');
                while ($checkid > 0){
                $pos = strpos($text2, '{');
                $pos2 = strpos($text2, '}');
                $pos3=$pos2-$pos-1;
                $datas=substr($text2,$pos+1,$pos3);

                $getdatas_dats=mysqli_query($conn,"select rising,riswei,inname from recipe_ing_steps r,ingre i where r.risid='$datas' and r.rising=i.inid");
                $thedatass=mysqli_fetch_array($getdatas_dats);
                $string=" <a href='#'>".$thedatass['riswei'].' grams of '.$thedatass['inname']."</a> ";
                $text2=preg_replace("/[[^]]+]/","$string",$text2,1);
                $checkid --;
                }
                echo $text2;


                This works fine






                share|improve this answer













                $text="Pour 1 cup of the cream into a saucepan and add the sugar, salt. Scrape the seeds of the vanilla bean into the pot and then add the vanilla pod to the pot. Warm the mixture over medium heat, just until the sugar dissolves. Remove from the heat and add the remaining cream, milk, and vanilla. Stir to combine and chill in the refrigerator.[100g water{64}] [400g water{65}] ";
                $text2=$text;
                $checkid=substr_count("$text2",'[');
                while ($checkid > 0){
                $pos = strpos($text2, '{');
                $pos2 = strpos($text2, '}');
                $pos3=$pos2-$pos-1;
                $datas=substr($text2,$pos+1,$pos3);

                $getdatas_dats=mysqli_query($conn,"select rising,riswei,inname from recipe_ing_steps r,ingre i where r.risid='$datas' and r.rising=i.inid");
                $thedatass=mysqli_fetch_array($getdatas_dats);
                $string=" <a href='#'>".$thedatass['riswei'].' grams of '.$thedatass['inname']."</a> ";
                $text2=preg_replace("/[[^]]+]/","$string",$text2,1);
                $checkid --;
                }
                echo $text2;


                This works fine







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Dec 2 '18 at 11:11









                AmaniAmani

                2911




                2911
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53579180%2ffinding-particular-text-from-string-and-match-it-with-database%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    MongoDB - Not Authorized To Execute Command

                    How to fix TextFormField cause rebuild widget in Flutter

                    in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith