beh9am

چند سوال در مورد php و تابع html_to_utf8

12 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

سلام

چند سوال داشتم ممنون میشم راهنمایی کنید

من از اسکریپتی استفاده میکنم که برای قسمت descriptio در سایتم از کد


<meta name="description" content="<?= $DESC ?>">

استفاده میکنه

حالا مشکل اینه که گاهی اوقات در صفحه مطلب پیدا نمیشه و این قیمت خالی میشه یعنی به این شکل :


<meta name="description" content="">

حالا میخوام وقتی مطلب پیدا نشد اون قیمت خالی نباشه و از بین چند کلمه که من خودم میدم یکی رو به صورت راندوم در قسمت descriptio بزاره

از این استفاده کردم اما نشد :


<?php if ( $DESC =='') {
echo 'salam';
}
?>

مشکلش کجاست ؟

و سوال دوم :

همین مشکل را در قسمت خود مطلب دارم یعنی وقتی مطلب پیدا نمیشه قسمت متن مطلب خالی میمونه

برای نمایش قسمت مطلب از این کد استفاده میکنه


<h2><?= html_to_utf8($v[0]) ?></h2>
<p><?= html_to_utf8($v[1]) ?></p>

میخوام وقتی مطلبی یافت نشد همون کار بالارو انجام بده یعنی کلمه ای که خودم مینویسم رو نمایش بده

من تازه دارم با کد نویسی کار میکنم و تجربم کمه ببخشید اگر سوالای انقدر ساده میپرسم

تشکر

ویرایش شده در توسط beh9am
0

به اشتراک گذاری این پست


لینک به پست

سلام

چرا =؟> نوشتید؟

1

به اشتراک گذاری این پست


لینک به پست

سلام

چرا =؟> نوشتید؟

پس چی باید باشه؟

0

به اشتراک گذاری این پست


لینک به پست

میتونین به صورت زیر عمل کنید


<meta name="description" content="<?php echo (empty($DESC)?'salam':$DESC) ?>">
برای اون 2 تای دیگه هم به صورت زیر عمل کنید
<h2><?= html_to_utf8((empty($v[0])?'hello':$v[0])) ?></h2>
<p><?= html_to_utf8((empty($v[1])?'hello':$v[1])) ?></p>

چرا نباید از =?> استفاده کرد؟ به خاطر اینکه سربار اضافی داره و در تعداد بازدیدهای بالا این امر مهم میشه

2

به اشتراک گذاری این پست


لینک به پست

میتونین به صورت زیر عمل کنید


<meta name="description" content="<?php echo (empty($DESC)?'salam':$DESC) ?>">
برای اون 2 تای دیگه هم به صورت زیر عمل کنید
<h2><?= html_to_utf8((empty($v[0])?'hello':$v[0])) ?></h2>
<p><?= html_to_utf8((empty($v[1])?'hello':$v[1])) ?></p>

چرا نباید از =?> استفاده کرد؟ به خاطر اینکه سربار اضافی داره و در تعداد بازدیدهای بالا این امر مهم میشه

تشکر استاد عزیز

ببخشید چجوریباید وقتی خالی بود میخوام از چند تا کلمه که دارم استفاده کنم مثلا:

مثتن اول

متن دوم

متن سوم

اینارو تو آرایه گذاشم

حالا میشه شرط رو جوری بگید که بشه جداگونه گذاشت ؟

یعنی

'hello' که شما گذاشتید را از یک متغیر دیگه بخونه یا چند تا متن به صورت رندوم که کداشو نوشتم خودم فقط شرط را جوری بزارید که بشه از جایدیگه متن فراخوانی کرد

در مورد =?> من ننوشتم خود اسکریپت اینطوریه

الان من همش رو به <?php تغییر بدم مشکلی نداره؟

0

به اشتراک گذاری این پست


لینک به پست

یه راه سادش

<?php
$arr = array('متن اول','متن دوم','متن سوم',);
?>
<meta name="description" content="<?php echo (empty($DESC)?$arr[0]:$DESC) ?>">
برای اون 2 تای دیگه هم به صورت زیر عمل کنید
<h2><?= html_to_utf8((empty($v[0])?$arr[1]:$v[0])) ?></h2>
<p><?= html_to_utf8((empty($v[1])?$arr[2]:$v[1])) ?></p>

1

به اشتراک گذاری این پست


لینک به پست

یه راه سادش

<?php
$arr = array('متن اول','متن دوم','متن سوم',);
?>
<meta name="description" content="<?php echo (empty($DESC)?$arr[0]:$DESC) ?>">
برای اون 2 تای دیگه هم به صورت زیر عمل کنید
<h2><?= html_to_utf8((empty($v[0])?$arr[1]:$v[0])) ?></h2>
<p><?= html_to_utf8((empty($v[1])?$arr[2]:$v[1])) ?></p>

تشکر کار کرد

فقط یک مشکلی هست که وقتی خالی میشه فقط از آرایه ها متن اول را میاره


<meta name="description" content="متن اول">

چجوری میشه کاری کرد که به صورت راندوم از آرایه ها انتخاب کنه مثلا یه بار متن اول یه بار متن سوم یه بار متن 7 یه بار متن 1 و ....

0

به اشتراک گذاری این پست


لینک به پست

خوب چون تو کدتون نوشتید که آرایه اولی بخونه بیاره .

0

به اشتراک گذاری این پست


لینک به پست

<?php
$arr = array('متن اول','متن دوم','متن سوم',);
shuffle($arr);
?>
<meta name="description" content="<?php echo (empty($DESC)?$arr[0]:$DESC) ?>">

2

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)


<?php
$arr = array('متن اول','متن دوم','متن سوم',);
shuffle($arr);
?>
<meta name="description" content="<?php echo (empty($DESC)?$arr[0]:$DESC) ?>">

تشکر

میشه یک توضیحی بدید ؟

مثلا کدی که اضافه کردید چه کاری انجام میده ؟

کار همون تابع rand را انجام میده ؟

برای یادگیری میخوام

ممنون

ویرایش شده در توسط beh9am
0

به اشتراک گذاری این پست


لینک به پست

من فقط یه تابع shuffle اضافه کردم که عناصر آرایه رو به هم می‎ریزه.

میدونید که هر عنصر در هر آرایه یه index داره


0 => 'Text one'
1 => 'Text two'
2 => 'Text three'

این تابع، ترتیب ایندکس و المنت‎ها رو عوض میکنه، مثلاً:


0 => 'Text three',
1 => 'Text one',
2 => 'Text two'

موفق باشید.

1

به اشتراک گذاری این پست


لینک به پست

من فقط یه تابع shuffle اضافه کردم که عناصر آرایه رو به هم می‎ریزه.

میدونید که هر عنصر در هر آرایه یه index داره


0 => 'Text one'
1 => 'Text two'
2 => 'Text three'

این تابع، ترتیب ایندکس و المنت‎ها رو عوض میکنه، مثلاً:


0 => 'Text three',
1 => 'Text one',
2 => 'Text two'

موفق باشید.

تشکر

یک سوال دیگه

الان برای این کدها :


<h2><?= html_to_utf8((empty($v[0])?$arr[1]:$v[0])) ?></h2>
<p><?= html_to_utf8((empty($v[1])?$arr[2]:$v[1])) ?></p>

چطور میشه کاری کرد وقتی شزط را چک میکنه اگر خالی بود php بسته بشه و یک سری کد بزاریم و دوباره ادامه کدها باشه ؟

من میخوام توی این کد به جای


$arr[1]

و

$arr[2]

از این حلقه استفاده بکنم :


for ($i=0; $i <= 3 ; $i++) {
echo $nums[$i].'<br>'.PHP_EOL;
}

چجوری میشه جایگذاری کنم؟

تشکر

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری