article

نمایش قسمتی از متن و پاراگراف با PHP

php-limit-word

یکی از قابلیت های کاربردی که معمولا در برنامه نویسی صفحات وب با PHP کاربرد زیادی دارد، انتخاب و نمایش قسمتی از یک متن یا پاراگراف است که می تواند به فرض به عنوان پیش نمایش مطالب یا با اهداف دیگر مانند نمایش قسمتی از یک پاراگراف به هنگام جستجو در سایت، محدود کردن نمایش محتوا برای کاربران با سطح دسترسی مختلف و... مورد استفاده قرار گیرد، خوشبختانه انجام این کار بسته به شرایط و نیاز شما، به چند شیوه از طریق توابع PHP یا در هنگام پرس و جو از دیتابیس و توسط دستورات MySQL قابل انجام است، در این آموزش در حد امکان به تفصیل در مورد آنها خواهیم گفت.

نمایش قسمتی از پاراگراف به صورت شمارش کلمه


یکی از روش های نمایش قسمتی از متن یا پاراگراف در PHP، تعیین تعداد و میزان کلماتی است که قصد داریم در خروجی نشان داده شوند، برای این کار از سه تابع explode ، implode و array_splice استفاده می کنیم که در تابع نمونه کد زیر این سه را باهم ترکیب کرده ایم.
<?php
function limitWord($string, $limit){
    $words = explode(" ",$string);
    $output = implode(" ",array_splice($words,0,$limit));
    return $output;
}
?>
برای فراخوانی تابع، کافی است پاراگراف مورد نظر را در یک متغیر تعریف و متغیر را (به عنوان آرگیومنت اول) به همراه تعداد کلمات مورد نظر (به عنوان آرگیومنت دوم) و به صورت زیر فراخوانی کنید.
<?php
$string = "آموزش کاربردی پی اچ پی نمایش قسمتی از متن و پاراگراف";
echo limitWord($string, 5);
?>
به این صورت در خروجی، تنها 5 کلمه اول از مقادیر متغیر فرضی string را خواهیم داشت.
توضیح:
- تابع explode با دریافت یک مقدار آرگیومنت به عنوان جداکننده (در اینجا فضای خالی یا " ")، متن مورد نظر را به صورت آرایه ای از کلمات تبدیل می کند.
- در قسمت بعدی، تابع implode مجددا آرایه ها را تبدیل به یک رشته می کند، البته در اینجا array_splice باعث می شود که تنها بخش خاصی از متن مورد نظر به خروجی ارسال شود.
نکته: برای محاسبه تعداد کلمات موجود در آرایه، می توانید از sizeof هم استفاده کنید.
<?php
$words = explode(" ",$string);
echo sizeof($words);
?>
به این صورت می توانید برنامه خود را هوشمند تر سازید؛ به فرض اگر تعداد کلمات یک متن از مقادیر مورد نظر شما بیشتر بود، قسمت array_splice اجرا شود و یا ایده های دیگری که ممکن است به ذهنتان برسد.

نمایش قسمتی از متن به صورت شمارش حروف  


یک روش دیگر برای انتخاب و نمایش قسمتی از یک متن، شمارش تعداد حروفی است که تمایل داریم به همان اندازه به خروجی ارسال شود، برای انجام این کار از تابع substr (برای حروف فارسی از mb_subsrt) می توانیم استفاده کنیم.
<?php
$string = "آموزش کاربردی پی اچ پی نمایش قسمتی از متن و پاراگراف";
echo mb_substr($string, 0, 25, mb_detect_encoding($string));
?>
در حال حاضر تابع substr تنها از استاندارد ASCII پشتیبانی می کند و برای کلمات فارسی چندان کاربردی نیست، چرا که هر حرف فارسی در تابع substr دو کاراکتر حساب می شود و از این گذشته، در این تابع گاهی مواقع کاراکترهای غیر استاندارد در انتهای متن مورد نظر به خروجی داده می شود که این موضوع به دلیل یونیکد حروف فارسی است، برای رفع مشکل بهتر است از تابع mb_substr مطابق با نمونه بالا استفاده کنید.

نمایش قسمتی از متن و پاراگراف در MySQL


علاوه بر روش های بالا که صرفا متکی بر کدهای PHP و توابع آن هستند، در MySQL و به هنگام پرس و جو یا همان Query نیز این امکان وجود دارد که بتوانیم نتایج را محدود به تعداد کلمات خاصی کنیم، برای این کار از تابع SUBSTRING و به شکل نمونه زیر استفاده می کنیم.
mysqli_query($con, "SELECT id, SUBSTRING(text,1,30) as text FROM articles ORDER BY id DESC LIMIT 1");
در مثال بالا، با استفاده از تابع SUBSTRING در MySQL از جدول فرضی articles، ستون text کاراکترهای 1 تا 30 را انتخاب کرده ایم، البته این تابع نیز نسبت به حروف فارسی در مقایسه با حروف انگلیسی، رفتاری متفاوت دارد.
sectionدسته بندی: آموزش کاربردی » PHP
related مطالب بیشتر:
» نحوه نمایش متن و تصاویر اتفاقی در PHP و MySQL
» ارسال پارامتر به URL و دریافت مقادیر با PHP
» ارسال ایمیل با PHP و کلاس phpmailer
» آموزش ساخت نقشه XML سایت (Sitemap) با PHP و MySQL
» دریافت و نمایش پیج رنک گوگل با PHP
commentنظرات (۶۵ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: فاطمه
۲۰:۳۰ ۱۳۹۵/۱۱/۱۸
سلام. میخام یه متن طولانیو پاراگرافشو تفکیک کنم از هم. میشه راهنمایی کنید
پاسخ: 
در گام نخست تابع explode راهکار مشکل مطرح شده است، اما این تابع نیاز به یک جدا کننده (delimiter) دارد، یعنی باید بین هر پاراگراف در متن مورد نظر، کاراکتری باشد که پاراگراف ها را بتوان از هم متمایز کرد، این کاراکتر می تواند تگ br در HTML یا مقادیر (نامرئی) r\n\ باشد، مثال:
<?php
$array = explode(PHP_EOL, $string);
foreach($array as $key => $value){
echo $key . ' => ' . $value . '<br>';
}
?>
در صورتی که پاراگراف ها با تگ br جداسازی شده باشند، به جای PHP_EOL مقادیر تگ را قرار دهید، همچنین راه حل جایگزین دیگر استفاده از تابع preg_split است:
$array = preg_split("/\\r\\n|\\r|\\n/", $string);
نویسنده: كمال
۰۱:۵۶ ۱۳۹۵/۱۱/۲۸
سلام
در مورد اين كدي كه نوشتين:
<?php
$content = file_get_contents('http://webgoo.ir');
$content = str_replace('<tr>', '', $content);
$title = preg_match("/<div class=\"footer-txt\"[^>]*>(.*?)<\\/div>/ims", $content, $match);
echo $match[1];
?>
اينكه همه صفحه رو نشون ميده؟ نه فقط يه div خاص
مشكل كجاست؟
پاسخ: 
کد مجددا تست شد، مشکلی دیده نشد و تنها متن داخل بلاک footer-txt نمایش داده می شود، جهت اطمینان کد را به همین صورت در یک فایل ساده PHP قرار داده و تست کنید!
نویسنده: محمد
۱۴:۴۷ ۱۳۹۵/۱۲/۱۵
با سلام و خسته نباشی
در مورد preg_match مثال خوبی زدید که میشد با داشتن یه کلاس به محتوای تگ div دسترسی پیدا کرد ولی من می خواستم به محتوای تگ <time> دسترسی پیدا کنم . چطور می تونم محتوایی که تو این تگ در نظر گرفته شده و از مشخصه
itemprop="datePublished"
هم برخورداره بهش دسترسی پیدا کنم . خودم از کد زیر استفاده کردم ولی خطا داد
preg_match("/<time itemprop=\"datePublished\"[^>]*>(.*?)<\/time>/ims", $content, $match);
پاسخ: 
کد تست شد، مشکلی وجود ندارد!
<?php
$content = '<div><time itemprop="datePublished">1</time></div>';
preg_match("/<time itemprop=\"datePublished\"[^>]*>(.*?)<\/time>/ims", $content, $match);
print_r($match);
?>
باید ببینید محتوای ورودی به چه صورتی است، ممکن است نیاز به تابع preg_match_all باشد.
نویسنده: احمد
۲۲:۰۷ ۱۳۹۶/۰۱/۱۹
مررررسی خیلی خوب بود، برای حروف فارسی میشه از تابع mb_string استفاده کرد به شرطی که آرگومان سومش رو "UTF-8" قرار بدیم.
پاسخ: 
بسیار ممنون از اشتراک گذاری، مطلب اصلاح شد.
نویسنده: حسین قربان شیرودی
۲۰:۱۵ ۱۳۹۶/۰۷/۰۸
سلام
من میخوام یک سایت راه اندازی کنم.
در مورد curl مشکل دارم یعنی بلد نیستم
1 -میخوام قیمت یک محصول از سایت دیگر در سایت من نشون بده همون محصول.
2 - در مورد پرداخت آنلاین با curl در سایت دیگه و برگشت به سایت خودم.
3 - در مورد دریافت مختصات کاربر و جاگذاری در نقشه به جای مختصات قبلی.
اگه کسی میتونه کمک کنه لطفا جواب بدین
ممنون.
پاسخ: 
متاسفانه در حال حاضر سفارشات پذیرفته نمی شود، هر کدام از موارد مطرح شده یک بحث تخصصی است و در صورت عدم آشنایی باید به برنامه نویس مسلط رجوع کنید.
نویسنده: pm
۰۳:۲۵ ۱۳۹۶/۰۷/۱۴
سلام چطور میشه که بخشی از یک api رو برداریم یا یک سایتی لیستی قرار داده اون لیست رو برداریم یا api های که شلوغ هستن رو اون چیزهای رو که داره رو ازش بگیریم
status	"ok"
data
proxies
0
ip "5.135.116.90"
port "8080"
country_code "FR"
response_time "fast"
type "elite"
supports
0 "get"
1 "cookie"
2 "referer"
3 "useragent"
protocols
0 "http"
1 "https"
فرض کنیم این فقط ip و port مثلا میخوایم یا چیزای دیگشو چطور کنیم که فقط اونو بهمون نشون بده و مرتب و منظم
پاسخ: 
برای تجزیه خروجی API ابتدا باید ببینیم این خروجی با چه فرمتی ارائه می شود، ممکن است به صورت JSON یا متن ساده باشد، اگر به صورت JSON باشد باید از توابعی مانند json_decode استفاده کنیم:
http://php.net/manual/en/function.json-decode.php
اگر هم به صورت متن ساده باشد باید ببینیم از چه کلید تجزیه ای می توانیم استفاده کنیم، در مثال شما هر مقدار در یک خط جدید خروجی داده شده و لذا هر خط می تواند کلید تجزیه ما باشد، مقدار هر پارامتر نیز یا یک عدد است یا بین علامت های "" قرار دارد، به این ترتیب با استفاده از توابعی مانند preg_match_all می توانیم موارد دلخواه را استخراج کنیم:
<?php
$output = 'status "ok"
data
proxies
0
ip "5.135.116.90"
port "8080"
country_code "FR"
response_time "fast"
type "elite"
supports
0 "get"
1 "cookie"
2 "referer"
3 "useragent"
protocols
0 "http"
1 "https"';
preg_match_all('/ip\s*"([^"]*)"/s', $output, $matches);
//print_r($matches);
echo $matches[1][0];
?>
نویسنده: رامین
۱۴:۳۲ ۱۳۹۶/۱۱/۱۸
سلام من میخوام متنی تصادفی که داده شد ای دی داخل متن بود را پیدا کنه و با آی دی که مد نظرم است جایگزین کنه مثلا
این یک متن تستی @aaaaaaaaaa است

@aaaaaaaaaa
با
@bbbbbbb
جایگزین بشه و متن جدید
این یک متن تستی @bbbbbbb است
تغییر پیدا کنه
پاسخ: 
برای این منظور باید با دستورات و عبارات باقاعده (Regular Expressions) آشنا باشید و از توابعی مانند preg_replace در PHP استفاده کنید، مثال:
<?php
$str = 'این یک متن تستی @aaaaaaaaaa است';
$str = preg_replace('/(\@[a-z0-9]+)/i', '@bbbbbbb', $str);
echo $str;
?>
نویسنده: محمود
۱۰:۲۰ ۱۳۹۷/۰۳/۲۶
با سلام و احترام
چگونه می توانم متن دلخواهی را در محل مخصوصی از همان صفحه وب کپی کنم و سپس آن را چاپ بکنم.
در حقیقت من می خواهم از متن های متفاوتی که در یک پست نوشته شده است مثلاً چند تا سوال ، چند تا از انها را انتخاب و به همان شکل در یک جدول بصورت مرتب کپی و سپس آن را پرینت کنم .
پاسخ: 
سوالتان کلی است و پاسخ کوتاهی ندارد!، در وب اینگونه موارد با کدنویسی جاوا اسکریپت انجام می شود، قاعدتا باید رابط کاربری برای این کار تعریف شود که به فرض با انتخاب هر گزینه، متن با فرمت مد نظر در یک بلاک div آماده چاپ شود و یک دکمه نیز برای چاپ داشته باشیم.
نویسنده: محمود
۱۰:۵۸ ۱۳۹۷/۰۳/۲۸
سلام
ممنون از راهنمایی.
اگر امکان دارد یک راهنمایی در مورد ساخت دکمه برای افزودن متن به بلاک div انجام بدید.
من کد های زیر را از وب سرچ کرده و پیدا کردم که فقط یک متن را ظاهر یا مخفی میکند ولی نمی دانم می شود از این استفاده کرد یا نه و یا چگونه متن را در بلاک div خاصی ظاهر کنم.
حذف شد
با تشکر
پاسخ: 
برای انجام این کار باید اسکریپت اختصاصی بنویسید، استفاده از کدهای آماده به تنهایی کافی نیست، در هر صورت نمونه کد زیر متن انتخاب (Highlight) شده را در یک بلاک div جهت ارسال برای چاپ قرار می دهد:
<script type="text/javascript">
function getSelectionHtml(){
var html = "";

if(typeof window.getSelection != "undefined"){
var sel = window.getSelection();
if(sel.rangeCount){
var container = document.createElement("div");

for(var i = 0, len = sel.rangeCount; i < len; ++i){
container.appendChild(sel.getRangeAt(i).cloneContents());
}

html = container.innerHTML;
}
} else if(typeof document.selection != "undefined"){
if(document.selection.type == "Text"){
html = document.selection.createRange().htmlText;
}
}

return html;
}

function setPrintText(id){
var value = getSelectionHtml();

if(value == ''){
alert('Please Select Example Text!');
} else{
document.getElementById(id).innerHTML += value + '<br>';
}
}

function doPrintText(id){
var elm = document.getElementById(id);
var mywindow = window.open('', 'Print', 'height=400, width=600');

mywindow.document.write('<html><head><title>' + document.title + '</title>');
mywindow.document.write('</head><body >');
mywindow.document.write('<h1>' + document.title + '</h1>');
mywindow.document.write(elm.innerHTML);
mywindow.document.write('</body></html>');

//IE >= 10
mywindow.document.close();
mywindow.focus();

mywindow.print();
mywindow.close();

return true;
}
</script>
<style type="text/css">
#foo{
border: #FF0004 1px solid;
padding: 8px;
margin: 8px;
}
#print{
border: #4D3EAC 1px solid;
padding: 8px;
margin: 8px;
}
</style>
<button onclick="setPrintText('print');">Add Text!</button>
<div id="foo">Example Text!</div>
<div id="print"></div>
<button onclick="doPrintText('print');">Print Text!</button>
نویسنده: محمود
۰۹:۵۰ ۱۳۹۷/۰۳/۳۰
سلام استاد گرامی
بسیار از راهنمایی شما متشکرم.
چگونه به جای های لایت کردن برای انتخاب متن ، از چک باکس استفاده کنم.
پاسخ: 
لطفا سعی کنید حداقل بخشی از کدها را بنویسید، در هر صورت نمونه کد زیر جهت راهنمایی بیشتر و به عنوان الگوی اولیه قابل استفاده است:
<script type="text/javascript">
function setPrintText(name, id){
var items = document.getElementsByName(name);
var div = '';
var value = '';

for(var i = 0; i < items.length; i++){
if(items[i].type == 'checkbox' && items[i].checked == true){
div = items[i].value;
value += document.getElementById(div).innerHTML + '<br>';
}
}

if(value == ''){
alert('Please Select Example Text!');
} else {
document.getElementById(id).innerHTML = '';
document.getElementById(id).innerHTML += value;
}
}

function doPrintText(id){
var elm = document.getElementById(id);
var mywindow = window.open('', 'Print', 'height=400, width=600');

mywindow.document.write('<html><head><title>' + document.title + '</title>');
mywindow.document.write('</head><body >');
mywindow.document.write('<h1>' + document.title + '</h1>');
mywindow.document.write(elm.innerHTML);
mywindow.document.write('</body></html>');

//IE >= 10
mywindow.document.close();
mywindow.focus();

mywindow.print();
mywindow.close();

return true;
}
</script>
<style type="text/css">
.foo{
display: inline-block;
border: #FF0004 1px solid;
padding: 8px;
margin: 8px;
}
#print{
border: #4D3EAC 1px solid;
padding: 8px;
margin: 8px;
}
</style>
<button onclick="setPrintText('foo[]', 'print');">Add Text!</button>
<br>
<input name="foo[]" id="checkbox-1" type="checkbox" value="foo-1"><div id="foo-1" class="foo">Example Text 1!</div>
<br>
<input name="foo[]" id="checkbox-2" type="checkbox" value="foo-2"><div id="foo-2" class="foo">Example Text 2!</div>
<div id="print"></div>
<button onclick="doPrintText('print');">Print Text!</button>
نویسنده: محمود
۱۰:۳۹ ۱۳۹۷/۰۴/۰۱
سلام و وقت بخیر
اینو بدونین که قلب بزرگی دارین و برای راهنمایی و کد های بالا بسیار متشکر هستم.
کدهایی که با های لایت متن را برای پرینت انتخاب می کرد خیلی بهتر است و البته برای کار من در زیر یک نمونه از صفحه که کدهای شما درونش است + کاری که میخواهم بکنم:
همانطور که می بینید با هر بار کلیک انتخاب متن ، یک جدول کامل ایجاد می شود نه یک سطر با سه ستون. همینطور با زدن علامت هر یک از چک باکس ها نمره در ستون نمره همان سوال درج شود و ردیف هم یک شماره به آن اضافه گردد. که می خواستم کمک بکنید.
خیلی خیلی تشکر دارم.
حذف شد
پاسخ: 
کدنویسی این موارد پیچیدگی های خاص خودش را دارد و اگر با مباحث مقدماتی آشنا نباشید در هر مرحله به مشکل برمی خورید، در حالت انتخاب متن نمی توانید شماره سوال و نمره را به صورت جداگانه داشته باشید چون کل متن به صورت یکجا انتخاب می شود، شاید روش چک باکس گزینه بهتری باشد، نمونه کد با تغییرات:
<script type="text/javascript">
function getSelectionHtml(){
var html = "";

if(typeof window.getSelection != "undefined"){
var sel = window.getSelection();
if(sel.rangeCount){
var container = document.createElement("div");

for(var i = 0, len = sel.rangeCount; i < len; ++i){
container.appendChild(sel.getRangeAt(i).cloneContents());
}

html = container.innerHTML;
}
} else if(typeof document.selection != "undefined"){
if(document.selection.type == "Text"){
html = document.selection.createRange().htmlText;
}
}

return html;
}

function setPrintText(id, tbl, last){
var value = getSelectionHtml();

if(value == ''){
alert('Please Select Example Text!');
} else{
var table = document.getElementById(tbl);
var count = document.getElementById(last).value;
document.getElementById(last).value = parseInt(count) + 1;
var row = table.insertRow(count);
var cell_1 = row.insertCell(0);
var cell_2 = row.insertCell(1);
cell_1.innerHTML = count;
cell_2.innerHTML = value + ' - ' + count;
}
}

function doPrintText(id){
var elm = document.getElementById(id);
var mywindow = window.open('', 'Print', 'height=400, width=600');

mywindow.document.write('<html><head><title>' + document.title + '</title>');
mywindow.document.write('</head><body >');
mywindow.document.write('<h1>' + document.title + '</h1>');
mywindow.document.write(elm.innerHTML);
mywindow.document.write('</body></html>');

//IE >= 10
mywindow.document.close();
mywindow.focus();

mywindow.print();
mywindow.close();

return true;
}
</script>
<style type="text/css">
#foo{
border: #FF0004 1px solid;
padding: 8px;
margin: 8px;
}
#print{
border: #4D3EAC 1px solid;
padding: 8px;
margin: 8px;
}
</style>
<button onclick="setPrintText('print', 'tbl', 'last');">Add Text!</button>
<div id="foo">Example Text!</div>
<div id="print">
<table id="tbl" width="200" border="1">
<tbody>
<tr>
<th>ID</th>
<th>Text</th>
</tr>
</tbody>
</table>
</div>
<input name="last" id="last" type="hidden" value="1">
<button onclick="doPrintText('print');">Print Text!</button>
نویسنده: محمود
۱۱:۱۰ ۱۳۹۷/۰۴/۰۲
سلام و احترام
از راهنمایی هایتان بسیار سپاسگزار هستم.
همانطور که اشاره کردید سعی و تلاش خودم را می کنم از سایت پر بار شما استفاده و ایدۀ خودم را کامل کنم. در هر حال شما نقش بر جسته ای در یادگیری و حل مشکل من داشتید.
باز هم تشکر می کنم .
نویسنده: محمود
۱۰:۰۴ ۱۳۹۷/۰۴/۱۵
دوباره سلام و احترام
نمی توانم بگم که کدنویسی را یاد گرفته ام ولی هنوز دارم مطالعه و تمرین می کنم و سایت بسیار خوب شما به من کمک زیادی کرده است. کدهای بالا برای کار من خیلی خوب هستند و من از حضرت عالی کمال تشکر را دارم . در پست دیگری اگر یادتان باشد دوباره مزاحم شما شدم و درباره دکمه حذف خانه های جدول و یا متن داخل آن ، یاری رساندید. من کدها را می خواهم در این قسمت اجرا کنم. ولی چون ردیف های جدول از قبل وجود ندارند و دارای id نیستند نمیتوانم متن های داخل آنها را انتخاب ، ویرایش یا حذف کنم به کمکتان دوباره احتیاج دارم. کدهایی را به نمونه کدهای بالا اضافه کردم ، خواهش می کنم آن را اجرا کنید و اشکال های آن را برطرف نمائید. تا دکمه های ویرایش و حذف و سیو کردن اجرا شوند. من نمی خاهم اولین row جدولم را تغییر بدهم و فقط برای مثال به این شکل کد نویسی کرده ام.
با تشکر فراوان.
حذف شد
پاسخ: 
موارد اشاره شده نیاز به کدنویسی های اختصاصی زمانبر دارد که متاسفانه به دلیل کمبود فرصت و لزوم پاسخگویی به تمام سوالات کاربران سایت این امکان بیش از این مقدور نمی باشد.
نویسنده: محمود
۱۱:۵۴ ۱۳۹۷/۰۵/۱۳
سلام.
من میخواهم مجموع اعداد ستون ID (نمره) در جدول بالا که کد هایش را نوشتید بصورت دینامیک با هر بار اضافه شدن ردیف
نشان داده شود. البته اعداد قابل تغییر هستند یعنی یک یک اضافه نمی شوند ممکن است اعداد اعشاری نیز در بین شان درج شود.
حذف شد
پاسخ: 
برای نمایش مجموع اعداد ستون نمره دستورات زیر را به انتهای تابع setPrintText اضافه کنید:
var all_rows = table.rows.length;
var all_value = 0;
for(var i = 1; i < all_rows; i++){
all_value += parseFloat(table.rows[i].cells[0].innerHTML);
}
document.getElementById('demo').innerHTML = 'مجموع نمرات ستون: ' + all_value;
نویسنده: محمود
۱۱:۱۵ ۱۳۹۷/۰۵/۱۶
سلام .
پری روز پاسخ شما را دیدم و در برنامه قرار دادم و بسیار کمک کرد. فقط چون اعداد اعشاری نیز در ستون نمره ها باید جمع بسته می شد ، برای همین این دو روز رویش کار می کردم تا با تغییر کد شما بلکه اعداد اعشاری ستون را نیز جمع کنم تا اینکه امروز دستور بسیار ساده اون را یافتم. به جای parseInt از parseFloat استفاده کردم و مشکل حل شد.
تشکر از سایت خوبتان. کارتان عالی است.
ولی من هنوز مشکل هایی دارم .
خواستید نگاه کنید.
http://asanbood.ir/%d8%a2%d8%b2%d9%85%d9%88%d9%86-%d8%b3%d8%a7%d8%b2-%d9%87%d9%81%d8%aa%d9%85/%d8%b9%d9%84%d9%88%d9%85-%d9%87%d9%81%d8%aa%d9%85/
پاسخ: 
ممنون از یادآوری نکته ای که جا مانده بود!، پاسخ اصلاح شد، برای اینکه به مشکل بر نخورید باید جاوا اسکریپت را از مقدمات خوب یاد بگیرید، بسیاری از راه حل ها در طراحی رابط کاربری وب نیاز به داشتن دانش و تجربه قبلی در مباحث این زبان دارند.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- موارد غیرمرتبط با مباحث آموزش ها را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ مختصر داده خواهد شد.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- از درج عناوین تبلیغاتی در فیلدها خودداری کنید، در صورتی که یادداشت تبلیغاتی تشخیص داده شود حذف خواهد شد.
- تمام یادداشت ها بررسی و زمانی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد خودداری کنید.





8 × 6
 refresh

آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form عبدالمالت ریالی
در:
سلام علیک میشه از چند فونت در یک صفحه html استفاده کرد.؟
۱۳۹۹/۰۸/۰۱

form مبینا
در:
سلام من برنامه ای میخواستم که داخل ارایه 5 رنگ قرار گرفته باشه. و با استفاده از حلقه for این یک متنو به اون پنج...
۱۳۹۹/۰۸/۰۱

form mohadeseh
در:
ممنون از راهنماییتون مشکلم حل شد
۱۳۹۹/۰۷/۲۸

form محمد
در:
سلام. یک کد نوشته ام بدین صورت: وقتی صفحه باز شده یک پنجره پیام خالی با یک ok باز شده هر چه ok را...
۱۳۹۹/۰۷/۲۸

form فایز پور جهانبخشی
در:
سلام اگر بخواهیم برنامه ای که داخل متلب نوشتیم تا یک ثانیه اجرا شود و بعد از ثانیه اول در حالت خطا که...
۱۳۹۹/۰۷/۲۸

form mohadeseh
در:
الان کد من که توی تگ <head> گزاشتم میخواستم بدونم ایا امکانش هست که توی تگ link که ایکون رو باهاش اوردم بتونم...
۱۳۹۹/۰۷/۲۷

form mohadeseh
در:
سلام ببخشید لطفا راهنمایی کنید که چجوری title برای favicon در html بزارم؟ جوری که وقتی موس روی icon قرار بگیره متن...
۱۳۹۹/۰۷/۲۷

form ryomaechizen
در:
سلام. اگه حافظه وب پر بشه و مجبورا عکسا کپی باشن چطور باید مشکل بارگزاریشون حل بشه؟
۱۳۹۹/۰۷/۲۶

form رونا
در:
پرونده فرستاده شده نمی‌تواند به wp-content/uploads/2020/10 برود. سلام این ارور برای چی رخ می ده
۱۳۹۹/۰۷/۲۵

form reza
در:
سلام خوبید انشاالله؟ خواستم بدونم این نوار ابزار رو چطور باید اونایی رو دوست دارم بزارم سمت راست وبلاگم. هر چی کد و ......
۱۳۹۹/۰۷/۲۴

form سینا
در:
چگونه میتوانیم با استفاده از HTML فرمول شیمیایی مواد را بنویسیم؟ با عدد اتمی، جرمی و بار اتمی
۱۳۹۹/۰۷/۲۱

form فاطمه
در:
سلام ممنونم... خیلی ساده و روون توضیح دادین.. اونقدر که تشویق شدم محتوای یه فایل تکس رو با ایجکس درون یه div بیارم ولی...
۱۳۹۹/۰۷/۲۱

form امیرحسین
در:
خب متوجه شدم. که باید خط اول عدد فانکشن رو تغییر بدم. بسته به تعداد آرایه یا هر عدد دیگه تغییر بدم جوابمو...
۱۳۹۹/۰۷/۲۱

form امیرحسین
در:
عالی بود. خیلی ممنونم. ولی هر چند کلمه داخل آرایه داشته باشم به همون میزان خروجی گرفته میشه. من اگه 10 کلمه در آرایه داشته...
۱۳۹۹/۰۷/۲۱

form سعادتی
در:
سلام کاش روش برطرف کردن این بهم ریختگی رو هم توضیح میدادید. ممنون
۱۳۹۹/۰۷/۲۰
form امیرحسین
در:
موفق شدم اینو پیدا کنم. ولی میخوام کلمات تکراری داخلشون نباشه. مثال AAA فقط یک بار در اون خط وجود داشته باشه.
۱۳۹۹/۰۷/۲۰
form امیرحسین
در:
سلام. نه محدودیت زمانی وجود نداره.
۱۳۹۹/۰۷/۲۰
form امیرحسین
در:
سلام خسته نباشید. میخوام از این تابع برای بدست آوردن لیست های متفاوت استفاده کنم. مثلا یه آرایه داشته باشم. امیدوارم کمکم...
۱۳۹۹/۰۷/۲۰
form ابوالفضل
در:
سلام وقتتون بخیر من میخوام یه افزونه برای مرورگر کروم طراحی کنم و میخوام یه متنی رو هر سری از سایت دریافت کنه و...
۱۳۹۹/۰۷/۲۰
form mahdi
در:
سلام چطور می تونم از ip خارجی استفاده کنم؟ برای دریافت لانچر میخام. مرسی
۱۳۹۹/۰۷/۱۹
form احسان عباسی
در:
با سلام و تشکر از سایت خوبتون من یه کد تعریف کردم که در بورس ایران سهم مدنظرمو بیاره .. میخواستم ببینم امکانش هست دستوری...
۱۳۹۹/۰۷/۱۷
form شبنم
در:
سلام وقتتون بخیر، ببخشید از کلمه event یا e دقیقا چه زمانی توی فانکشن استفاده میکنیم؟
۱۳۹۹/۰۷/۱۷
form احمد
در:
با عرض سلام مجدد ساختار کلی دستورم به این صورت هست. بعد از حلقه وایل اون دیو کلاس 1 و 2 و 3 میخواهم...
۱۳۹۹/۰۷/۱۶
form احمد
در:
با عرض سلام ببخشید چطوری میتونم یه قسمت از تگ ها رو داخل حلقه وایل رد کنم دوباره تگ های بعدی داخل حلقه قرار بگیرن...
۱۳۹۹/۰۷/۱۶
form ابوالفضل
در:
سلام واقعا من خیلی گشتم تا بتونم این آموزش رو پیدا کنم چون واقعا نمی دونستم چی بنویسم تا یک رتبه بندی برای نتایج جستجو...
۱۳۹۹/۰۷/۱۵
form mahtab
در:
سلام وقتتون بخیر ببخشید میشه بفرمایید چجوری کلیپ رو بزاریم وبلاگ ؟؟ بی زحمت کامل بفرمایین ممنون و متشکر
۱۳۹۹/۰۷/۱۴
form Saeid Azari
در:
سلام ببخشید اگه امکانش هست سوال منو جواب بدید یکم گیج شدم...من یک کد html دارم که باید یک سایت درست کنم و ان را...
۱۳۹۹/۰۷/۱۳
form ابوالفضل
در:
سلام یک سوال دارم چجوری یک متنی که درون تگ td هست و بعد تگ br هست (تگ br درون تگ td است) رو...
۱۳۹۹/۰۷/۱۳
form parnian
در:
با سلام با توجه به این که این مطلب در سال 91 نوشته شده ایا تغیری هم کرده؟ مثلا استفاده و مهم بودن تگ های...
۱۳۹۹/۰۷/۱۳
form fahimeh
در:
سلام من دارم پروژه واسه دانشگاه مینویسم طراحی سایتو کردم برای کار با پایگاه داده دستور insert و delete کار میکنه ولی...
۱۳۹۹/۰۷/۱۲
form امین
در:
با عرض سلام ببخشید یه فرم دارم اخر فرمم یه دکمه دارم میخواستم بدونم چطوری باید بعد از کلیک کردن دکمه به صفحه دیگه انتقال...
۱۳۹۹/۰۷/۱۱
form محسن
در:
سلام من از فرم ساز گرویتی استفاده میکنم آیا امکان استفاده همچین چیزی رو میتونم داخلش داشته باشم آیا کدی داره که در قسمت...
۱۳۹۹/۰۷/۱۱
form مالکی
در:
چرا وبلاگم بالا نمی یاد
۱۳۹۹/۰۷/۰۹
form احمد
در:
با عرض سلام مجدد و خسته نباشید ببخشید نمونه کد رو اگر امکانش هست نگاه کنید که چطوری این متغییری رو که بدست اوردم در...
۱۳۹۹/۰۷/۰۹
form الناز
در:
سلام وقتتون بخیر. چطور میشه برنامه ای رو در php نوشت که کدملی رو تبدیل به شماره دانشجویی کنه اگه برام بنویسید ممنون میشم.
۱۳۹۹/۰۷/۰۹
form محمد
در:
سلام من میخواستم بدونم چه طوری میشه بدون اینکه از کاربر بپرسی که میخواهد از حساب خروج پیدا کند خود سایت بفهمد که کاربر از...
۱۳۹۹/۰۷/۰۹
form احمد
در:
با سلام ببخشید چطوری باید در جکوری از یک متغییر در صفحات دیگه استفاده کنم مثال دو عدد را باهم جمع کردم و ریختم داخل...
۱۳۹۹/۰۷/۰۹
form مهسا
در:
سلام و خسته نباشید مشکلی برای وبلاگ من پیش اومده موقع ورود بهم پیام میده وبلاگ داره بروز رسانی میشه و بعدا وارد وبلاگ شوید...
۱۳۹۹/۰۷/۰۸
form Moshtagh
در:
سلام و خسته نباشید بنده چند روزه که وقتی اطلاعات ورود به وبلاگم رو وارد تیترها و کلیک میکنم با چنین پاسخی مواجه میشم...
۱۳۹۹/۰۷/۰۸
form mahtab
در:
سلام خسته نباشین ببخشید چرا بلاگفا باز نمیکنه ؟؟؟ میرم مدیریت وبلاگ نه تو بروز شده ها وبی هستم نه هم که...
۱۳۹۹/۰۷/۰۷
form جواد
در:
سلام و عرض ادب. سایت من هک شده و یک کد ریدایرکت تو دیتابیس هاستم بارگزاری شده که آخر همه پست ها تو...
۱۳۹۹/۰۷/۰۷
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا 24 ساعت زمان ببرد.