نحوه گذاشتن چند خط نوشته در متغیر php - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

نحوه گذاشتن چند خط نوشته در متغیر php

+2 امتیاز

من می خوام چند خط نوشته رو داخل متغیر ّزارم ولی برنامه ارور میده !!

        $text = "<div class="bloc">
            <a href="images/test.jpg">
                <img class="image" src="images/test.jpg" alt="Voletasa mytras">     
            </a>
            <div class="inner">
                <p class="name">
                    عنوان
                </p>
            </div>
        </div>;"

چطوری میشه متغیر بالا رو ذخیره کرد ؟!

سوال شده فروردین 7, 1393  بوسیله ی مسعود رضایی (امتیاز 20)   1 2 2

2 پاسخ

+4 امتیاز
 
بهترین پاسخ

سلام

نکته اول اینکه برای ذخیره سازی یک رشته یا متن داخل یک متغیر باید اون رو داخل " یا ' قرار داد که شما هم البته همین کار رو کردین اما بعدش مثلاً خاصیت class برای تگ div و href برای تگ a و ... رو نوشتین که وقتی برای مقداردهی به اونها هم از " استفاده می کنین مشکل پیش میاد. چون که مفسر php با مشاهده " اولی کاراکترهای بعدی رو تا رسیدن به " بعدی یک رشته در نظر می گیره و همون طور که فهمیدین به طور مثال در خط اول وقتی بعد از class= علامت " نوشته میشه رشته متنی مورد نظر php تمام شده تلقی میشه و مفسر بعد از اون انتظار داره که دستورات دیگه یا علامت های خاص دیگه رو بخونه و در نتیجه خطا درست می شه.

لذا شما دو تا کار میتونید انجام بدین: یکی اینکه داخل کدهای html به جای " از \" استفاده کنید یعنی هر جا خواستید مثلا بنویسید class="bloc" بنویسید class=\"bloc\" . کار دیگه اینکه کل رشته متنی مورد نظر رو به جای " با ' مشخص کنید و بعد به راحتی داخل تگ های html از " استفاده کنید.(بدون نیاز به \" )

نکته دوم هم اینکه برای اون که چند خط رو داخل متغیر ذخیره کنید  میتونید از علامت . (نقطه) برای الحاق چند رشته استفاده کنید و یا از \n برای نوشتن خط بعدی .

یک نمونه صحیح کد مورد نظر شما این شکلیه:

$text = '<div class="bloc">\n'
    . '<a href="images/test.jpg">\n'
     . '  <img class="image" src="images/test.jpg" alt="Voletasa mytras">\n'
    . '</a>\n'
    . '<div class="inner">\n'
      . ' <p class="name">\n'
       . '     عنوان\n'
        .'</p>\n'
   .' </div>\n'
.'</div>';

 

پاسخ داده شده فروردین 7, 1393 بوسیله ی ifelse (امتیاز 192)   1 1 2
انتخاب شد فروردین 7, 1393 بوسیله ی مسعود رضایی
+1 امتیاز

مشکل اینه که شما وقتی که " می خوای استفاده کنی باید به این شکل بنویسی  "\

البته از EOD>>>  هم می تونی استفاده کنی

 

$text =<<<EOD
<div class="block">
    <a href="images/test.jpg">
        <img class="image" src="images/test.jpg" alt="Voletasa mytras">     
    </a>
     <div class="inner">
           <p class="title">
                 عنوان
           </p>
    </div>
</div>
EOD;
echo $text;

 

پاسخ داده شده فروردین 7, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
...